20
As an agilist, I want to write great user stories so that... Ryan Dorrell @ryan_dorrell 08.27.2013 Tampa Bay Agile Meetup

As an agilist , I want to write great user stories so that

  • Upload
    elise

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

As an agilist , I want to write great user stories so that. Ryan Dorrell @ ryan_dorrell 08.27.2013 Tampa Bay Agile Meetup. Bio. CTO, co-founder, AgileThought (since 2004) Started professional career developing using 16-bit VB4 on Win 3.1 at Arthur Andersen in Sarasota, FL Since then: - PowerPoint PPT Presentation

Citation preview

Page 1: As an  agilist , I want to write great user stories so that

As an agilist, I want to write great user stories so that...Ryan Dorrell@ryan_dorrell08.27.2013Tampa Bay Agile Meetup

Page 2: As an  agilist , I want to write great user stories so that

• CTO, co-founder, AgileThought (since 2004)• Started professional career developing using 16-bit VB4 on Win 3.1

at Arthur Andersen in Sarasota, FL• Since then:

OnSphere in Raleigh, NC (VB6, .NET, Java) PricewaterhouseCoopers in Tampa, FL (Java) Co-founded AgileThought in 2004 with David Romine, John Wagner

• At AgileThought: Development, technical leadership, plus helping teams and organizations

adopt agile and ALM practices and processes• @ryan_dorrell• @agilethought

Bio

Page 3: As an  agilist , I want to write great user stories so that
Page 4: As an  agilist , I want to write great user stories so that

User Stories

A promise for a future

conversation

Think about requirements

differently

Specifying in writing

doesn’t work well

Page 5: As an  agilist , I want to write great user stories so that

http://www.cakewrecks.com/

Page 6: As an  agilist , I want to write great user stories so that

http://www.cakewrecks.com/

Page 7: As an  agilist , I want to write great user stories so that

User Stories

A promise for a future

conversation

Think about requirements

differently

Specifying in writing

doesn’t work well

Shared documents

aren’t shared understanding

Page 8: As an  agilist , I want to write great user stories so that

User Story Cadence

As a <role>, I want to <action>, so that <value>

Page 9: As an  agilist , I want to write great user stories so that

Are user stories enough?

Card Conversation Confirmation

As a <role>, I want to <action>, so that

<value>

As a <role>, I want to <action>, so that

<value>

1. Item2. 2ITe3. Item4. Item5. Item

Page 10: As an  agilist , I want to write great user stories so that

What about use cases?

A user story is to a use

case…

…is as a gazelle is to a gazebo.

Page 11: As an  agilist , I want to write great user stories so that

Live by INVEST

INDEPENDENT NEGOTIABLE

ESTIMABLE SMALL

VALUABLE

TESTABLE

Page 12: As an  agilist , I want to write great user stories so that

User story anti-patterns

Too large Too technical

UI-focused Not user-focused

Actually just a task

Describes implementatio

n

Page 13: As an  agilist , I want to write great user stories so that

Decomposition strategies

By OperationBy User Interface

Model

By Data Entry Method By Persona

By Workflow Steps

Split out spikes

Page 14: As an  agilist , I want to write great user stories so that

Examples

As a user, I want to view my

dashboard page

As a product owner, I want the password to have

complexity requirements

As a customer svc rep, I want to

manage a customer’s account

As a developer, I want to refactor

the database connection code

Page 15: As an  agilist , I want to write great user stories so that

Acceptance Criteria

PO expectations on what will be

delivered

Can include:

Functionality, look/feel, non-

functional expectations

Given…

When….

Then…

Automation tool support exists

Page 16: As an  agilist , I want to write great user stories so that

Acceptance Criteria Examples

Ref Field Rules1 Promo Code The promo code, itself cannot be

altered during the time between the Promo Start Date and Promo End Date.

2 Promo Code Allow the start date of the promo to be modified if the current date is <the start date (i.e. if the promo code is not yet active, the start date can be changed)

3 Promo Code All promo codes can only be used once and cannot be reused for another promotion.

4 Promo Code The Total Limit of a promo code for a particular promotion can be modified if the Current Date <End Date.

Given an Existing Promo Code,When it saved,Then the following rules are applied:

Page 17: As an  agilist , I want to write great user stories so that

Acceptance Criteria ExamplesAs a mobile app user I want to accept the EULA just once when I log into the mobile app so that I’m legally in agreement with the company.

Given when a user logins for the first timeWhen they have never accepted the EULA beforeThen prompt to read the EULA and click Accept or Decline If user clicks Decline Then logout the user and return to login pageIf user clicks Accept continue on Also check for the version # of the EULA - if later, get text for latest version and display with accept/decline Since more than 1 user can use a device, track if the EULA has been seen by each user on each device

Page 18: As an  agilist , I want to write great user stories so that

Acceptance Criteria Examples

As a mobile app user I want to view my current medications so that I can be informed of duplicate therapy conflicts.

Group by individual drugs.  Sort the ones with problems to the top, then alphabetical order by the "written as" field.  Display the "filled as" field also below the "written as" field.  Tapping the drug name should take them to the prescription details screen.  Select/tap to drop-down the different sections.  Lo-fi mockup:[Text block at top indicating what to do]<!> Drug1     <downarrow>Filled as: Drug1a  Duplicate    Drug 2     Filled as: Drug2a    Drug 4    Filled as: Drug4a<!> Drug 2 <downarrow>Filled as: Drug2a  Duplicate    Drug 1<!>  Drug 4 <downarrow>DuplicateDrug 1 

Page 19: As an  agilist , I want to write great user stories so that

Parting words

Groom often and with vigor.

Don’t get hung up on making a story absolutely perfect.

Focus on the conversation.

Work to split stories to the smallest

consumable portion.

Think Asteroids.

Page 20: As an  agilist , I want to write great user stories so that

Thank you!