Agile User Stories

42
User Stories Agile Software Development

Transcript of Agile User Stories

Page 1: Agile User Stories

User StoriesAgile Software Development

Page 2: Agile User Stories

Topics

ObjectivesBrief History – MotivationProcess OverviewA User StoryWriting StoriesManagingDevelopment PracticesThe JourneySummary

Page 3: Agile User Stories

Objectives

Discuss agile software development practices, with 30% focus on user stories

Page 4: Agile User Stories

Brief History - Motivation

Page 5: Agile User Stories

Brief History - Motivation

*g SoftwareNumber of Feature

m– number of iterationt- iteration size g – Measure of usefulness, goodness

*m t where t is proportional to *n RequirementComplexity + *b DesignComplexity

+ Code + *y Feedback

Page 6: Agile User Stories

Process Overview

I-MeetCustomer + Dev TeamPrioritize stories, estimate velocity

R-MeetCustomer + Dev TeamPrioritize stories, estimate

Daily StandupCustomer + Dev TeamStory Workshop,

Conversations, etcCustomer Team

Page 7: Agile User Stories

A User Story

3 parts Planning placeholder & reminder Notes from conversations Tests

Not system’s point of view

Page 8: Agile User Stories

User Story – Planning Placeholder & Reminder

Taskboard & Release/Sprint Planning(VersionOne*)

*Mingle is a trademark of Thoughtworks*VersionOne is a trademark of VersionOne

Card Walls & Release/Sprint Planning(Mingle*)

Page 9: Agile User Stories

Notes from conversations

E.g.Customer Service can search for orders so that they can quickly access the customer’s order when customer calls in to make changes to the delivery address

Notes : Zie says always show customer name, order reference number, order date.

Page 10: Agile User Stories

Tests

Conveys to developers additional information

Developers get an idea if they are done

Treat as specification

Page 11: Agile User Stories

Tests – Specification/Test Collaboration Framework

Page 12: Agile User Stories

Questions

What are the 3 parts of a user story?

Page 13: Agile User Stories

Writing Stories

Form and functionAttributes INVESTTrawlingStories Smell

Page 14: Agile User Stories

Writing User Stories - Form and function

The role, goal and motivation.<role’s> wants to do <goal>

because <motivation>

Example : As an account holder, I want to transfer funds between two of my accounts so that I can maximize the performance of my savings and avoid any fees associated with overdrafts and minimum balance rules.

Page 15: Agile User Stories

Writing User Stories - INVEST E.g. of non-independent story :

Customer can pay for basket items using iPay88 payment gatewayCustomer can pay for basket items using WorldPay payment gateway

Possible Solutions: Combine both If combining both is too large – split out the base

work: ▪ Customer can pay with one type of payment gateway▪ Customer can pay with two additional types of

payment gateway

Page 16: Agile User Stories

Writing User Stories – INVEST Too much detail such that the extra details is

associated to extra precision – always negotiable

Valuable to Users User easily understands : Test with Credit Card, Debit

Card and Cheque User cannot understand : Test that Payment table

contains the authorization id for credit card Acceptable to indicate non-functional requirements

like : This feature is expected to be used by 200 users concurrently and at any one time 200 payment records can be shown quickly, may be in 2s.

Page 17: Agile User Stories

Writing User Stories - INVEST

Estimatable 3 reasons for wrong estimation▪ Story is too big▪ Developers lack domain knowledge▪ Developers lack technical knowledge

Large stories/epic simply a large value if not the focus other break it

Split to Experiment within a specific time with the objectives of

estimation - Spikes Story to do the actual work

Page 18: Agile User Stories

Writing User Stories - INVEST

Page 19: Agile User Stories

Writing User Stories - INVEST

Page 20: Agile User Stories

Writing User Stories - Responsibilities

Customer Team : Responsible for writing stories, keeping in mind INVEST

Developer : Help customer write stories which lack details, do not assume and always have conversation but have it at the point when supporting information is available

Page 21: Agile User Stories

Writing User Stories - Trawling for Requirements

Role Modeling, Personas , Extreme characters

User stories workshop, interviews ( open ended and context free questions ) , observation & questionnaire

Page 22: Agile User Stories

Writing User Stories - Trawling for Requirements

Delivery Input

Return Details

Refund Details(Based on Payment)

Returns/Exchange

Status

Low Fidelity PrototypeHigher Fidelity Prototype

Page 23: Agile User Stories

Story Smell Catalogues

Stories are too small Interdependent StoriesGoldplatingToo many details Including user interface details too

soonThinking too far aheadSplitting too many storiesCustomer has trouble prioritizingCustomer won’t write and prioritize

stories

Page 24: Agile User Stories

Questions

What does INVEST stands for?Who constitute the Customer team?What are the tools available for

trawling for requirements?

Page 25: Agile User Stories

Managing

Page 26: Agile User Stories

Managing - Planning

 75% of all US IT projects are considered to be failures by those responsible for initiating them. Half of the projects exceeded budget by 200% 31% of projects were cancelled outright  53% of the all projects was so worrying that they were challenged.

Too many variables, too far ahead and replanning with better information not planned for

Page 27: Agile User Stories

Managing – Planning.Estimating

Establish definition of story pointsVelocity = (Story Points

Completed)/SprintPrevious velocity can be used to

estimateTools :

Estimating : Tasks, Triangulating with Card Wall, Planning Poker

Page 28: Agile User Stories

Managing – Planning.Estimating

Page 29: Agile User Stories

Managing – Cost.Resource

Developers are not Codys

Page 30: Agile User Stories

Managing – Planning.Release

Two areas Features/Stories▪ Prioritization : MoSCow

Time ▪ Iteration Length▪ Time to complete - Product Roadmap▪ Move from story points to expected duration

Product will be ready for release in approximately 5-7 iteration

Page 31: Agile User Stories

Managing – Planning.Sprint

Discuss a storiesFor each stories disaggregate into

tasks Small enough to be accurate

Developer accepts responsibility for each task Individually ensures estimate

What! No task for upfront design?

Page 32: Agile User Stories

Managing - Controls

Release Burndown charts – sprint (x-axis)

Sprint Daily burndown charts – day (x-axis)

Daily NotStarted,InProgress,Completed -

Cardwalls Standup

Page 33: Agile User Stories

Managing - Rules of the Game

No changes to during a sprintCustomer stay involves all the time

Page 34: Agile User Stories

User Stories

Not IEEE 830 Use cases – sized to deliver business value, “level of detail”

Why Emphasize of quick chat Comprehensible by everyone Right size for planning Works for iterative development Defer details to a right point in time Support opportunistic design Encourages participatory design Build up tacit knowledge

Stories may not be good ISO 9001 companies – Will have an issue with tear up stories

Page 35: Agile User Stories

Team Practices

Start off with simple design, but expect changes

Refactoring ( and consequently test ) is important

Test Automation is crucial

Architecture, UML, use cases and agile software development

Middle out

Page 36: Agile User Stories

Questions

What are the tools used in estimation?

What is done in Release Planning?What are the tools used in Release

Planning?Completion vs Number of Stories

Points – which is preferred?Name the Team Practices.How do you deal with unplanned

tasks?

Page 37: Agile User Stories

The Journey

Page 38: Agile User Stories

The Journey - Build

Page 39: Agile User Stories

The Journey - Communication

Page 40: Agile User Stories

Summary

You can’t do agile you just have to be agile

Page 41: Agile User Stories

Q&A