Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user...

15
Agile Requirements Agile Requirements Introducing User Stories Introducing User Stories

Transcript of Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user...

Page 1: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

Agile RequirementsAgile Requirements

Introducing User StoriesIntroducing User Stories

Page 2: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

Key Principles for Agile Requirements

• Active user involvement is imperative• Agile teams must be empowered to make decisions• Requirements emerge and evolve as software is developed• Agile requirements are ‘barely sufficient’• Requirements are developed in small, bite-sized pieces• Enough’s enough – apply the 80/20 rule• Cooperation, collaboration and communication

between all team members is essential

Page 3: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

Requirements are a Communication Problem

• Written requirements – can be well thought through, reviewed and edited– provide a permanent record– are more easily shared with groups of people– time consuming to produce – may be less relevant or superseded over time– can be easily misinterpreted

• Verbal requirements– instantaneous feedback and clarification– information-packed exchange– easier to clarify and gain common understanding– more easily adapted to any new information known at the time– can spark ideas about problems and opportunities

Page 4: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

A picture is worthA picture is wortha thousand wordsa thousand words

Page 5: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

User Stories

seek to combine the strengths of written and verbal communication,

where possible supported by a picture.

Page 6: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

What is a User Story?

A concise, written description of a piece of functionality

that will be valuable to a user (or owner) of the software.

Page 7: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

User Story Cards have 3 parts

1. Card - A written description of the user story for planning purposes and as a reminder

2. Conversation - A section for capturing further information about the user story and details of any conversations

3. Confirmation - A section to convey what tests will be carried out to confirm the user story is complete and working as expected

Page 8: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

User Story Description

As a [user role] I want to [goal] so I can [reason]

For example: • As a registered user I want to log in

so I can access subscriber-only content

Page 9: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

User Story Description

• Who (user role)

• What (goal)

• Why (reason)– gives clarity as to why a feature is useful– can influence how a feature should function– can give you ideas for other useful features

that support the user's goals

Page 12: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

How detailed should a User Story be?

Detailed enough for the team to start work from, and further details to be established and clarified

at the time of development.

Page 13: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

INVEST in Good User Stories

• Independent – User Stories should be as independent as possible.• Negotiable – User Stories are not a contract. They are not detailed

specifications. They are reminders of features for the team to discuss and collaborate to clarify the details near the time of development.

• Valuable – User Stories should be valuable to the user (or owner) of the solution. They should be written in user language. They should be features, not tasks.

• Estimatable – User Stories need to be possible to estimate. They need to provide enough information to estimate, without being too detailed.

• Small – User Stories should be small. Not too small. But not too big.• Testable – User Stories need to be worded in a way that is testable, i.e. not

too subjective and to provide clear details of how the User Story will be tested.

Page 14: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

User Stories Summary

• User Stories combine written and verbal communications, supported with a picture where possible.

• User Stories should describe features that are of value to the user, written in a user’s language.

• User Stories detail just enough information and no more.• Details are deferred and captured through collaboration

just in time for development.• Test cases should be written before development, when the

User Story is written.• User Stories should be Independent, Negotiable, Valuable,

Estimatable, Small and Testable.

Page 15: Agile Requirements Introducing User Stories. Key Principles for Agile Requirements Active user involvement is imperative Agile teams must be empowered.

Writing Good User Stories

http://www.agile-software-development.com/2008/04/writing-good-user-stories.html