Requirements Engineering For Agile Methods Updated
Requirements Engineering For Agile Methods Updated
Software Requirements
Engineering
5
Customer involvement(Cont….)
On agile projects, customers (or a product owner who
represents them) are engaged continuously throughout
the project.
During an initial planning iteration on some agile projects,
customers work with the project team to identify and
prioritize user stories.
Customers must be available during iterations to provide input
and clarification during the design and construction activities.
They should also test and provide feedback on the newly
developed features when the construction phase of the
iteration is complete.
User Stories
User stories are a major technique used to express
requirements, like use cases.
User stories are special because they use a consistent format
to express requirements that is easy to write, read, and
evaluate.
User stories take the following format:
“As a ‘who,’ I want to ‘what,’ so that ‘why.’”
The “who” of the requirement is the stakeholder role for whom the
requirement is being formed. The requirement should be written as if
it is from this person’s point of view.
The “what” of the requirement is the specific task or functionality
the stakeholder wants to achieve by using the product.
The “why” of the requirement highlights the goals or visions of the
product, and it provides insight into the value or benefit of the
requirement.
Example
An example of a user story based on the restaurant example
User stories are useful, as they provide a clear and structured way to
express a requirement that also does not use too many technical
details.
Unlike freely formed requirements, user stories ensure the “who,”
“what,” and “why” of a requirement are always accounted for.
User stories are also useful because they are short and can be easily
written on physical index cards or sticky notes.
This practice allows easy organization of requirements, which can be
re-organized when requirements change.
Below is an example of what a user story
might look like on an index card.
Mnemonic INVEST.
User stories can be evaluated using the mnemonic INVEST.
I Independent
This means the requirement can exist outside of other user stories and
still be meaningful. This allows for requirements and their user stories
to be freely rearranged if necessary.
N Negotiable
User stories should also be general enough for the development team
and client to work around their implementation. They should not focus
on specific technical details. Instead, focus should be on the most
important aspects of requirements, while remembering that these could
change.
V Valuable
User stories should bring value to the client.
Mnemonic INVEST (Cont..)
E Estimatable
It should be possible to estimate how much time it would take to
design and implement the requirement in the user story.
S Small
A user story should be small because it is meant to be developed
in a short time period. If the time to design and implement a
requirement is uncertain, the user story is likely too big, so it
should be broken down into smaller, manageable ones.
T Testable
User stories should be verifiable against a set of criteria in order
to determine if it is “done”, meaning that the user story has
accomplished what it set out to do, and does not need further
work. This is usually accomplished with acceptance tests.