0% found this document useful (0 votes)
178 views8 pages

Agile Assignment-Kamna Srivastava

The document provides details about an agile assignment submitted by Kamna Srivastava. It includes definitions of user stories and their characteristics, the significance of refactoring and refactoring techniques, the roles of the scrum master and product owner, the agile manifesto and principles of agile testing, different approaches to testing in agile development projects including test driven development, and how to implement scrum for a project.

Uploaded by

Kamna Srivastava
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
178 views8 pages

Agile Assignment-Kamna Srivastava

The document provides details about an agile assignment submitted by Kamna Srivastava. It includes definitions of user stories and their characteristics, the significance of refactoring and refactoring techniques, the roles of the scrum master and product owner, the agile manifesto and principles of agile testing, different approaches to testing in agile development projects including test driven development, and how to implement scrum for a project.

Uploaded by

Kamna Srivastava
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Agile Assignment

Submitted by:
Kamna Srivastava
A1004918030
Bsc. (IT)

1. Define user stories also mention the characteristics and content of


user stories.
In agile software development, a user story is a brief, plain-language
explanation of a feature or functionality written from a user’s point of view.
It is also described as the smallest unit of product development work that
can lead to a complete element of user functionality.
An effective user story has three characteristics – who, what, and why. A
user story typically follows the “As a (who), I want (what) so that I can
(why)” format.
An effective user story is estimable and usually achievable within a single
sprint. User stories should be clear, concise, and provide a common
language between technical and non-technical people.

2. Discuss the significance of refactoring and briefly mention the


refactoring techniques.
Refactoring consists of improving the internal structure of an existing
program’s source code, while preserving its external behavior.
We need refactoring to:
-To make software easy to understand.
-To improve the design of software.
-To find bugs.
-To make the program run faster.

The refactoring techniques are:


Red Green refactoring.
Preparatory refactoring.
Branching by abstraction refactoring.
Composing methods refactoring.
Moving features between objects refactoring.
Simplifying conditional expressions refactoring.
Simplifying method calls refactoring.
Breaking code apart into more logical pieces refactoring.
User Interface Refactoring.

3. Mention in detail the role of scrum master and product owner.


Scrum Masters are servant leaders and coaches for an Agile Team. They
help educate the team in Scrum, The Scrum Master role is taken by a
team member whose primary responsibility is assisting the self-organizing,
self-managing team to achieve its goals. Scrum Masters do this by
teaching and coaching team practices.
The Product Owner is the member of the Agile team who serves as the
customer proxy responsible for working with Product Management and
other stakeholders—including other POs—to define and prioritize stories in
the team backlog. Ideally, the PO is collocated with the rest of the team,
where they typically share management, incentives, and culture. But the
PO also attends the relevant Product Management meetings for planning
and Program Backlog/Vision refinement.

4. Discuss briefly the agile manifesto and agile testing principles.


The Agile Manifesto is a document that identifies four key values and 12
principles that its authors believe software developers should use to guide
their work.
The agile testing principles are:
-Provide continuous feedback
-Deliver value to the customer
-Enable face to face communication
-Have courage
-Keep it simple
-Practice continuous improvement
-Respond to change
-Self-organize
-Focus on people
-Enjoy
5. What are the different approaches to testing on agile development
projects? Explain how you can implement Scrum in an easy way to
your project.
The different approaches to testing on agile development are;
Test Driven Development
Test-driven development (TDD) starts with tests. This type of development
begins by discussing what you want to test and then creating a user story.
So, you start by writing a unit test. Then you write the user story. Finally,
you write the code until the unit test passes.

Acceptance Test Driven Development


Acceptance test-driven development (ATDD) is similar. But ATDD starts
with customer input on functionality. This type of development begins by
discussing how the product will be used. So, you write a user acceptance
test (UAT). And then you write the code until it passes the test.

Behaviour Test Driven Development


Behavior-driven development often stems from TDD and ATDD. In
behavior-driven development, the purpose of development needs to be
tied to a business outcome. So, you’ll have a user story — but the user
story needs to answer why (in business terms) this feature is being
developed. And in BDD, tests are included in user stories as scenarios or
specifications.

Exploratory testing
Exploratory testing is a style of testing that lets testers follow their intuition
rather than a predefined path. It’s typically manual. You record what you’re
doing and save it as a test. And you figure out what exactly it is that you’re
testing as you go.

Session based testing


Session-based testing has some similarities to exploratory testing. But
there’s a little more structure in session-based testing. Instead of figuring
out what you’re testing as you go, you start with a mission in mind.

6. Write short notes on:


1. Test Driven Development: Test-driven development (TDD) starts with
tests. This type of development begins by discussing what you want to test
and then creating a user story. So, you start by writing a unit test. Then
you write the user story. Finally, you write the code until the unit test
passes.

2. Refactoring: Refactoring is the activity of improving the internal


structure or operation of a code or component without changing its external
behavior. The goal of software development is the continuous delivery of
business value to users and stakeholders. Constantly changing
technology, coupled with evolving business objectives makes it difficult to
maintain and constantly increase business value.

3. Pair programming: As the name implies, pair programming is where


two developers work using only one machine. Each one has a keyboard
and a mouse. One programmer acts as the driver who codes while the
other will serve as the observer who will check the code being written,
proofread and spell check it, while also figuring out where to go next.
These roles can be switched at any time: the driver will then become the
observer and vice versa.
4. Agile estimation: Whether the team is developing a product or
developing a project, we all need to answer “When will we be able to
complete it?”, or to what extent we can do it at a certain point in time, so
like the traditional development model, we need to estimate the amount of
work before we start the project.

5. Burndown Chart: A burndown chart shows the amount of work that has
been completed in an epic or sprint, and the total work remaining.
Burndown charts are used to predict your team's likelihood of completing
their work in the time available.

7. As a tester what would your approach be when requirement changes


continuously.
- Involve the Customer throughout the Development Process.

- Design a Product Backlog that can Accommodate Changes.

- Involve the Client during the Daily Stand-up Meeting.


- Use Agile Task Boards for Superior Project Tracking.

8. In terms of scrum framework discuss Ceremony as well as the


Artifacts giving suitable examples.

Ceremonies are an important part of agile development. They help to


disseminate timely information, bring common goals and vision, and share
team progress to all team members. The complete Scrum team attends all
the ceremonies except the retrospective, which the product owner may or
may not attend.
Artifacts provide key information that the Scrum Team and the
stakeholders need to be aware of for understanding the product under
development, the activities being planned, and the activities done in the
project.

9. Explain how you can measure the velocity of the sprint with varying
team capacity.

Sprint velocity is the amount of work finished by the team in each sprint. It
helps the team to identify how much progress they can aim to make in a
given sprint. Velocity is calculated by adding all the story points given to
each user story that is completed by the end of the sprint. It measures
output, but not the outcome.

The steps involved in Velocity-based Sprint Planning are as follows:

1. Calculate the team’s average velocity from previous sprints.


2. Select the items from the product backlog equal to the average
velocity.
3. Verify whether the tasks associated with the selected user stories
are appropriate for the particular sprint.
4. Estimate the tasks and check if the total work is consistent with the
past sprints.

The velocity chart helps to track the overall status of the project.
10. Create a typical sprint backlog as for the following:

Requirement: Create a car rental system

Features are written as stories given below:

A) As a licensed driver I want to rent a car so that I will have individual


personal transportation when my own car is not available

B) As a licensed driver I want to make reservation for a car so that when I


go to rent it the desired type of vehicle will be available

C) As a renter I want to return the car I'm renting so that I will no longer be
charged

D) As a maintenance person I want all maintenance activity on every


vehicle recorded so that I can know when the next schedule maintenance
should occur.

1. As an owner, one will be needed to log in to access his drive to have all
the information related to the project.

2. Also, one needs to have all the information about the places from
where he can get a rented car.
3. One needs to have a proper management system to store the data
about the person whose car is rented.

4. Also, one should keep the records of the car renting i.e. the date on
which it was rented, the day it was returned, the model which was
rented etc.

5. One is also required to keep all the records of every vehicle being
rented so as to know when the next scheduled maintenance should
occur.

You might also like