0% found this document useful (0 votes)
24 views13 pages

CS3307 - 16 - User Stories - Putting Stories To Work

The document outlines the concept of user stories in software development, emphasizing their role in capturing user expectations and guiding development through acceptance tests. It discusses the estimation of stories in story points, which reflect their size and complexity, and highlights the importance of prioritization and iterative development. Additionally, it contrasts story-driven development with traditional waterfall methods, stressing continuous customer involvement throughout the project lifecycle.

Uploaded by

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

CS3307 - 16 - User Stories - Putting Stories To Work

The document outlines the concept of user stories in software development, emphasizing their role in capturing user expectations and guiding development through acceptance tests. It discusses the estimation of stories in story points, which reflect their size and complexity, and highlights the importance of prioritization and iterative development. Additionally, it contrasts story-driven development with traditional waterfall methods, stressing continuous customer involvement throughout the project lifecycle.

Uploaded by

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

User Stories

Putting Stories to Work

1
User Stories
• Front of the card:
• User story
• Estimate in story points (more on this later)
A recruiter can post a new job (3 points)
• Back of the card:
• Captures the expectations of the user in the form of acceptance tests
• These tests will help confirm that a story is complete
Try it with an empty job description (fail)
Try it with a really long job description (fail)
Try it with a six-digit salary (pass)

2
User Stories: Estimation
• The cost of a story is the estimate given to it by the developers

• Each story is assigned an estimate in story points


• This indicates the size and complexity of the story relative to other stories
• For example, a story estimated at four points is expected to take twice as long
as a story estimated at two points

3
User Stories: Estimation
• Each team defines the meaning of story points:
• One team might treat a point as an ideal day of work
• Another team might define a story point as an ideal week of work
• Yet another team might treat a story point as a measure of the complexity of a
story
• Recommendation for the project: treat one story point as an ideal
evening of work for one developer (ideal = no interruptions, good
focus/concentration)

4
User Stories: Acceptance Tests
• The back of each card contains acceptance tests
• They capture important aspects about stories
• They verify that a story was developed to work exactly the way the customer
team expected it to work
• They run frequently – ideally automated
• They are intentionally left short and incomplete
• The team can add/remove tests at any time
• Goal is to convey additional information so developers will know when
the story is done

5
User Stories: Acceptance Tests
• Story: A user can pay for the items in a shopping cart with a credit card
Test with Visa, MasterCard and American Express (pass).
Test with Diner's Club (fail).
Test with a Visa debit card (pass).
Test with good, bad, and missing security codes.
Test with expired cards (fail).
Test with different purchase amounts (try going over card limit)

• By providing tests to the developer early, the customer team has:


• Stated their expectations
• Reminded the developers of a situation they might have forgotten

6
Story-Driven Development
• The customer team and developers choose length of each iteration of
development of the project
• Might be anywhere from 1 to 4 weeks
• Same iteration length used for entire project
• At the end of each iteration, developers are responsible for delivering fully
usable code for some subset of the application
• The functionality captured by the stories in the iteration just completed
should now be fully usable in the application

7
Story-Driven Development: Release
Planning
• Developers estimate how much work (in story points) they’ll be able
to complete each iteration to set the project’s velocity
• First estimate will be wrong, but this is useful to roughly determine the
iteration schedule
• To plan releases, we sort stories in piles representing iterations, where
the stories in each pile add up to no more than the estimated velocity
• Highest-priority stories go in the first pile (iteration 1)
• Next highest-priority stories go in the second pile (iteration 2)
• ...

8
Story-Driven Development: Release
Planning
• Before each iteration starts, the customer team can make mid-course
corrections to the plan
• As we complete iterations, we can determine the development
team’s actual velocity
• We can work with this instead of the estimated velocity
• This means that each pile of stories may need to be adjusted by
adding or removing stories

9
Story-Driven Development: Release
Planning

10
Story-Driven Development:
Prioritization
• To plan releases, customer team must prioritize stories:
• Desirability of a feature to a broad base of users/customers
• Desirability of a feature to a small number of important users/customers
• Cohesiveness of a story in relation to others
• For example, a zoom out story might not be high priority on its own, but might treated
as such because it is complementary to zoom in, which is high priority

11
Story-Driven Development:
Prioritization
• Developers have different priorities for many stories:
• They may suggest a story’s priority be changed based on technical risk or
because it is complementary to another

• Customer team listens to their opinions, but ultimately sets priorities


in a manner that maximizes value delivered to the organization

12
BDUF vs. Story-Driven Development
• Traditional waterfall model:
• Write requirements, analyze them, design a solution, code said
solution, test solution
• Customers involved at beginning to write requirements
• Customers involved at the end for acceptance testing
• Between requirements and acceptance: customers often disappear
• Story-Driven Project:
• Customers and users involved throughout duration of the project
• Not allowed to disappear in the middle of the project

13

You might also like