SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
How to know when a story is at the right level of detail

Stories are vital to the Product Backlog, Release Planning and Sprint Planning and delivering something
of commercial or operational value iteratively and incrementally.

The more experience you have with writing stories, and estimating story size using a relative unit of
measure, the easier it will become for you to recognize when a story is at the right level of detail.

When you are sizing your stories, at the Product Backlog level, a story should contain just enough detail
for the team to be able to estimate its relative size to other stories.

When estimating your stories, at the Sprint Backlog level, a story should contain enough detail for the
team to be able to determine what the solution involves or what it will take them to deliver the story.

Characteristics of good stories
Stories are not written contracts or detailed requirements that the system-software must implement.
Stories are short descriptions of functionality, the details of which are to be refined in a conversation
between the Product Owner (aka, the business or customer) and the development team. The challenge
comes in learning to include just enough detail.

At the time the story is written some important details may become known, they should be included as
acceptance criteria for the story, as shown in Figure 1.0.




                            Figure 1.0 – A story and related acceptance criteria




Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved.                 Page 1 of 5
When you’re discussing a story, and the story seems to be getting larger and larger (”what about x?”;
“have you considered y?”), stop and ask, “What’s the simplest version of this?” Capture that simple
version as its own story. You’ll probably have to define some acceptance criteria on the spot to keep it
simple. Then, break out all the variations and complexities into their own stories. So, for example, this
story:

         As a user I can search for flights between two destinations

We can disaggregate1 this story into simple stories by splitting off variations like:

         As a user I can search for flights between two destinations specifying a max number of stops
         As a user I can search for flights between two destinations including nearby airports
         As a user I can search for flights between two destinations using flexible dates
         etc.

The fact of the matter is some stories can be too big, some can be too small, and some can be just right.
Story size does matter because if stories are too large or too small you cannot use them effectively in
planning. Stories that are too big are called Epics. Epics are difficult to work with because they
frequently contain multiple stories.

For example, in a travel reservation system, “A user can plan a vacation” is an epic. Planning a vacation
is important functionality for a travel reservation system but there is just too much functionality in this
story; which will result in increasing the teams effort spent estimating the story size and degrade the
accuracy of the story estimate.

An epic should be split into smaller stories. Epics typically fall into one of two categories:

    •    The compound story
    •    The complex story

A compound story is an epic that comprises multiple stories. For example, a job posting application may
include the story “A user can post her resume.” When the team talks more about this story with the
Product Owner, they find out the “post her resume” actually means:

    •    that a resume can include education, prior jobs, salary history, publications, presentations,
         community service, and an objective
    •    that users can mark resumes as inactive
    •    that users can have multiple resumes
    •    that users can edit resumes
    •    that users can delete resumes




1
 Disaggregation refers to splitting a story into smaller, easier-to-estimate pieces; page 55, Agile Estimating and
Planning, by Mike Cohn
Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved.                            Page 2 of 5
However, disaggregating an epic this way may go too far in the opposite direction, turning it into a
series of stories that are too small.

For example:

    •   A Job Seeker can enter a date for each community service entry on a resume
    •   A Job Seeker can edit the date for each community service entry on a resume
    •   A Job Seeker can enter a date range for each prior job on a resume
    •   A Job Seeker can edit the date range for each prior job on a resume

Generally, a better solution is to group the smaller stories as follows:

    •   A user can create resumes, which include education, prior jobs, salary history, publications,
        presentations, community service, and an objective
    •   A user can edit a resume
    •   A user can delete a resume
    •   A user can have multiple resumes
    •   A user can activate and inactivate resumes

There are normally many ways to disaggregate a compound story. The preceding disaggregation is along
the lines of create, edit, and delete, which is commonly used. This works well if the create story is small
enough that it can be left as one story. An alternative is to disaggregate along the boundaries of the
data.

To do this, think of each component of a resume as being added and edited individually. This leads to a
completely different disaggregation:

    •   A user can add and edit education information
    •   A user can add and edit job history information
    •   A user can add and edit salary history information
    •   A user can add and edit publications
    •   A user can add and edit presentations
    •   A user can add and edit community service
    •   A user can add and edit an objective

Unlike the compound story, the complex story is a story that is inherently large and cannot easily be
disaggregated into a set of constituent stories.

If a story is complex because of uncertainty associated with it, you should estimate the size of the story
at the highest range of your estimating scale (1, 2, 3, 5, 8, 13, 21, 34, 55, 89). Then in your sprint have an
investigate story to more clearly understand what the solution involves to deliver this story.

For example, suppose the team is given the story “A company can pay for a job posting with a credit
card” but none of the developers has ever done credit card processing before. The team would then
decide to disaggregate the story in the sprint like this:
Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved.                    Page 3 of 5
•   Investigate credit card processing over the web
    •   A user can pay with a credit card

In this case the first story will send one or more developers on a spike. When complex stories are split in
this way, always define a time-box around the investigative story, or spike2.

Complex stories are also common when developing new or extending known algorithms. For example, a
biotech company had a story to add novel extensions to a standard statistical approach called
expectation maximization. The complex story, as part of sprint planning, was divided into stories: the
first to research and determine the feasibility of extending expectation maximization; the second to add
that functionality to the product. In situations like this one it is difficult to estimate the size of the story,
so once again size the story at the highest range of your estimating scale (1, 2, 3, 5, 8, 13, 21, 34, 55, 89).

Stories must also be written so as to be testable. Successfully passing its tests proves that a story has
been successfully developed. If the story cannot be tested, how can the developers know when they
have finished coding?

Un-testable stories commonly show up for nonfunctional requirements, which are requirements about
the software but not directly about its functionality.

For example, consider these nonfunctional requirements:

    •   A user must find the software easy to use
    •   A user must never have to wait long for any screen to appear

The preceding are not stories, they are details of a story to be captured as acceptance criteria associated
with a story or stories.

        Sidebar

        Acceptance criterion such as “a user never has to wait long for any screen to appear” is not
        testable, because it says “never” and because it does not define what “wait long” means.
        Demonstrating that something never happens is impossible. A far easier, and more reasonable
        target, is to demonstrate that something rarely happens. This acceptance criterion could have
        instead been written as “New screens appear within two seconds in 95% of all cases”; an added
        bonus is an automated test can be written to verify this.

Summary
    1. Ideally, stories are independent from one another. This isn’t always possible but to the extent it
       is, stories should be written so that they can be developed in any order.
    2. The details of a story are negotiated between the Product Owner and the team.


2
 A spike is an experiment that allows developers to learn just enough about something unknown in a story, e.g. a
new technology, to be able to estimate that story. A spike must be time-boxed. This defines the maximum time
that will be spent learning and fixes the estimate for the spike.
Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved.                       Page 4 of 5
3. Stories should be written so that their value to the Product Owner is clear. The best way to
       achieve this is to have the Product Owner write the stories.
    4. Stories may be annotated with details, but too much detail obscures the meaning of the story
       and can give the impression that no conversation is necessary between the team and the
       Product Owner. One of the best ways to annotate a story is to write acceptance criteria for the
       story.
    5. When stories are too big, compound and complex stories may be disaggregated into multiple
       smaller stories.
    6. When stories are too small, multiple tiny stories may be combined into one bigger story.
    7. Stories need to be testable.

Tips - experiences from using this approach
        The more experience you have with writing stories, and estimating story size using a relative
        unit of measure (1, 2, 3, 5, 8, 13, 21, 34, 55, 89), the easier it will become for you to recognize
        when a story is at the right level of detail.
        When you are sizing your stories, at the Product Backlog level, a story should contain just
        enough detail for the team to be able to estimate its relative size to other stories.
        When estimating your stories, at the Sprint Backlog level, a story should contain enough detail
        for the team to be able to determine what the solution involves or what it will take them to
        deliver the story.
        Epics are okay to have on your Product Backlog as long as they are stories at the bottom of your
        Product Backlog (lowest in priority). When you are within 3 Sprints of these stories it is time to
        disaggregate them.
        It is okay and expected, for novices during their first couple of Sprints, to discover your
        estimates were either really low or really high.




Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved.                  Page 5 of 5

Weitere ähnliche Inhalte

Was ist angesagt?

The Rise of the DataOps - Dataiku - J On the Beach 2016
The Rise of the DataOps - Dataiku - J On the Beach 2016 The Rise of the DataOps - Dataiku - J On the Beach 2016
The Rise of the DataOps - Dataiku - J On the Beach 2016 Dataiku
 
IT Change Management Process Guide & Standards v4.0
IT Change Management Process Guide & Standards v4.0IT Change Management Process Guide & Standards v4.0
IT Change Management Process Guide & Standards v4.0Edward Paul Pagsanhan
 
Egeria and graphs
Egeria and graphsEgeria and graphs
Egeria and graphsODPi
 
IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.Architecture Center Ltd
 
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...Amazon Web Services Korea
 
ODSC May 2019 - The DataOps Manifesto
ODSC May 2019 - The DataOps ManifestoODSC May 2019 - The DataOps Manifesto
ODSC May 2019 - The DataOps ManifestoDataKitchen
 
Emergence of MongoDB as an Enterprise Data Hub
Emergence of MongoDB as an Enterprise Data HubEmergence of MongoDB as an Enterprise Data Hub
Emergence of MongoDB as an Enterprise Data HubMongoDB
 
SFIA 8 December 2020 webinar
SFIA 8 December 2020 webinarSFIA 8 December 2020 webinar
SFIA 8 December 2020 webinarSFIA User Forum
 
Migrate and Modernize Hadoop-Based Security Policies for Databricks
Migrate and Modernize Hadoop-Based Security Policies for DatabricksMigrate and Modernize Hadoop-Based Security Policies for Databricks
Migrate and Modernize Hadoop-Based Security Policies for DatabricksDatabricks
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Timothy Spann
 
Presto @ Uber Hadoop summit2017
Presto @ Uber Hadoop summit2017Presto @ Uber Hadoop summit2017
Presto @ Uber Hadoop summit2017Zhenxiao Luo
 
NiFi Best Practices for the Enterprise
NiFi Best Practices for the EnterpriseNiFi Best Practices for the Enterprise
NiFi Best Practices for the EnterpriseGregory Keys
 
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseAldrin Piri
 
Real-Time Data Flows with Apache NiFi
Real-Time Data Flows with Apache NiFiReal-Time Data Flows with Apache NiFi
Real-Time Data Flows with Apache NiFiManish Gupta
 
What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...
What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...
What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...OpenText
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data EngineeringDurga Gadiraju
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentFlink Forward
 
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)confluent
 

Was ist angesagt? (20)

IT4IT™
IT4IT™IT4IT™
IT4IT™
 
The Rise of the DataOps - Dataiku - J On the Beach 2016
The Rise of the DataOps - Dataiku - J On the Beach 2016 The Rise of the DataOps - Dataiku - J On the Beach 2016
The Rise of the DataOps - Dataiku - J On the Beach 2016
 
IT Change Management Process Guide & Standards v4.0
IT Change Management Process Guide & Standards v4.0IT Change Management Process Guide & Standards v4.0
IT Change Management Process Guide & Standards v4.0
 
Egeria and graphs
Egeria and graphsEgeria and graphs
Egeria and graphs
 
IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.
 
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
 
Mule caching strategy with redis cache
Mule caching strategy with redis cacheMule caching strategy with redis cache
Mule caching strategy with redis cache
 
ODSC May 2019 - The DataOps Manifesto
ODSC May 2019 - The DataOps ManifestoODSC May 2019 - The DataOps Manifesto
ODSC May 2019 - The DataOps Manifesto
 
Emergence of MongoDB as an Enterprise Data Hub
Emergence of MongoDB as an Enterprise Data HubEmergence of MongoDB as an Enterprise Data Hub
Emergence of MongoDB as an Enterprise Data Hub
 
SFIA 8 December 2020 webinar
SFIA 8 December 2020 webinarSFIA 8 December 2020 webinar
SFIA 8 December 2020 webinar
 
Migrate and Modernize Hadoop-Based Security Policies for Databricks
Migrate and Modernize Hadoop-Based Security Policies for DatabricksMigrate and Modernize Hadoop-Based Security Policies for Databricks
Migrate and Modernize Hadoop-Based Security Policies for Databricks
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Presto @ Uber Hadoop summit2017
Presto @ Uber Hadoop summit2017Presto @ Uber Hadoop summit2017
Presto @ Uber Hadoop summit2017
 
NiFi Best Practices for the Enterprise
NiFi Best Practices for the EnterpriseNiFi Best Practices for the Enterprise
NiFi Best Practices for the Enterprise
 
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
 
Real-Time Data Flows with Apache NiFi
Real-Time Data Flows with Apache NiFiReal-Time Data Flows with Apache NiFi
Real-Time Data Flows with Apache NiFi
 
What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...
What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...
What’s new in OpenText Extended ECM Platform CE 20.4 and OpenText Content Sui...
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
 

Andere mochten auch

Creating A Product Backlog
Creating A Product BacklogCreating A Product Backlog
Creating A Product BacklogRussell Pannone
 
SCRUM User Story Life Cycle
SCRUM User Story Life CycleSCRUM User Story Life Cycle
SCRUM User Story Life CycleKristen Varona
 
Modelo Educativo Transformador de Vidas
Modelo Educativo Transformador de VidasModelo Educativo Transformador de Vidas
Modelo Educativo Transformador de VidasAntonio Da Rocha
 
Antecedentes LOE 2009 Venezuelsa
Antecedentes LOE 2009 VenezuelsaAntecedentes LOE 2009 Venezuelsa
Antecedentes LOE 2009 VenezuelsaAntonio Da Rocha
 
Haz que la realidad cobre vida
Haz que la realidad cobre vidaHaz que la realidad cobre vida
Haz que la realidad cobre vidaAntonio Da Rocha
 
Diseño de una estrategia para la búsqueda de informacion.
Diseño de una estrategia para la búsqueda de informacion.Diseño de una estrategia para la búsqueda de informacion.
Diseño de una estrategia para la búsqueda de informacion.Antonio Da Rocha
 
Normalizing agile and lean product development and aim
Normalizing agile and lean product development and aimNormalizing agile and lean product development and aim
Normalizing agile and lean product development and aimRussell Pannone
 
Diseño de una estrategia para la diseminación de la información...
Diseño de una estrategia para la diseminación de la información...Diseño de una estrategia para la diseminación de la información...
Diseño de una estrategia para la diseminación de la información...Antonio Da Rocha
 
Agile and Lean Business Proposition
Agile and Lean Business PropositionAgile and Lean Business Proposition
Agile and Lean Business PropositionRussell Pannone
 
Forecasting total cost and duration of Product Backlog
Forecasting total cost and duration of Product BacklogForecasting total cost and duration of Product Backlog
Forecasting total cost and duration of Product BacklogRussell Pannone
 
Agile product development for the business
Agile product development for the businessAgile product development for the business
Agile product development for the businessRussell Pannone
 
Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...
Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...
Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...Antonio Da Rocha
 
Lean Agile and Respect for People
Lean Agile and Respect for PeopleLean Agile and Respect for People
Lean Agile and Respect for PeopleRussell Pannone
 
Agile and lean product development the fundamentals
Agile and lean product development the fundamentalsAgile and lean product development the fundamentals
Agile and lean product development the fundamentalsRussell Pannone
 

Andere mochten auch (20)

Creating A Product Backlog
Creating A Product BacklogCreating A Product Backlog
Creating A Product Backlog
 
SCRUM User Story Life Cycle
SCRUM User Story Life CycleSCRUM User Story Life Cycle
SCRUM User Story Life Cycle
 
Modelo Educativo Transformador de Vidas
Modelo Educativo Transformador de VidasModelo Educativo Transformador de Vidas
Modelo Educativo Transformador de Vidas
 
Proyecto completo
Proyecto  completoProyecto  completo
Proyecto completo
 
Antecedentes LOE 2009 Venezuelsa
Antecedentes LOE 2009 VenezuelsaAntecedentes LOE 2009 Venezuelsa
Antecedentes LOE 2009 Venezuelsa
 
6. introducción
6. introducción6. introducción
6. introducción
 
Haz que la realidad cobre vida
Haz que la realidad cobre vidaHaz que la realidad cobre vida
Haz que la realidad cobre vida
 
3isystem fase3
3isystem fase33isystem fase3
3isystem fase3
 
Diseño de una estrategia para la búsqueda de informacion.
Diseño de una estrategia para la búsqueda de informacion.Diseño de una estrategia para la búsqueda de informacion.
Diseño de una estrategia para la búsqueda de informacion.
 
Bloque Pacie
Bloque PacieBloque Pacie
Bloque Pacie
 
Normalizing agile and lean product development and aim
Normalizing agile and lean product development and aimNormalizing agile and lean product development and aim
Normalizing agile and lean product development and aim
 
Diseño de una estrategia para la diseminación de la información...
Diseño de una estrategia para la diseminación de la información...Diseño de una estrategia para la diseminación de la información...
Diseño de una estrategia para la diseminación de la información...
 
Agile and Lean Business Proposition
Agile and Lean Business PropositionAgile and Lean Business Proposition
Agile and Lean Business Proposition
 
Forecasting total cost and duration of Product Backlog
Forecasting total cost and duration of Product BacklogForecasting total cost and duration of Product Backlog
Forecasting total cost and duration of Product Backlog
 
Agile product development for the business
Agile product development for the businessAgile product development for the business
Agile product development for the business
 
Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...
Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...
Megatendencias Sociales: Ambientes Laborales Amigables para Personas con Nece...
 
Lean Agile and Respect for People
Lean Agile and Respect for PeopleLean Agile and Respect for People
Lean Agile and Respect for People
 
What is an agile coach
What is an agile coachWhat is an agile coach
What is an agile coach
 
Agile and lean product development the fundamentals
Agile and lean product development the fundamentalsAgile and lean product development the fundamentals
Agile and lean product development the fundamentals
 
Risk guideline
Risk guidelineRisk guideline
Risk guideline
 

Ähnlich wie How To Know Your Stories Are At The Right Level Of Detail

A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Storieslaurence b
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user storiescpolc
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of StorytellingFadi Stephan
 
Making User Stories Smaller for Agile
Making User Stories Smaller for AgileMaking User Stories Smaller for Agile
Making User Stories Smaller for AgileSumma
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?Vladimir Tarasov
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 
User-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfUser-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfSLowe7
 
User-Story-Primer.pdf
User-Story-Primer.pdfUser-Story-Primer.pdf
User-Story-Primer.pdfAnurag Behera
 
Agile Software Development - Session 2
Agile Software Development - Session 2Agile Software Development - Session 2
Agile Software Development - Session 2Dalia Ayman Ahmed
 

Ähnlich wie How To Know Your Stories Are At The Right Level Of Detail (20)

LEYTON_AgileBusinessAnalystSample
LEYTON_AgileBusinessAnalystSampleLEYTON_AgileBusinessAnalystSample
LEYTON_AgileBusinessAnalystSample
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Stories
 
User stories explained
User stories explainedUser stories explained
User stories explained
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Agile Scrum - Crafting user stories
Agile Scrum - Crafting user storiesAgile Scrum - Crafting user stories
Agile Scrum - Crafting user stories
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of Storytelling
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Making User Stories Smaller for Agile
Making User Stories Smaller for AgileMaking User Stories Smaller for Agile
Making User Stories Smaller for Agile
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
User-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfUser-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdf
 
All about User story
All about User storyAll about User story
All about User story
 
Agile Estimation
Agile EstimationAgile Estimation
Agile Estimation
 
User-Story-Primer.pdf
User-Story-Primer.pdfUser-Story-Primer.pdf
User-Story-Primer.pdf
 
Agile Software Development - Session 2
Agile Software Development - Session 2Agile Software Development - Session 2
Agile Software Development - Session 2
 
Story Cards
Story CardsStory Cards
Story Cards
 
Agile
AgileAgile
Agile
 

Mehr von Russell Pannone

Agile Lean Kanban in the Real World - A Case Study
Agile Lean Kanban in the Real World - A Case StudyAgile Lean Kanban in the Real World - A Case Study
Agile Lean Kanban in the Real World - A Case StudyRussell Pannone
 
AcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScriptsAcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScriptsRussell Pannone
 
Agile Lean Kanban in the real world
Agile Lean Kanban in the real worldAgile Lean Kanban in the real world
Agile Lean Kanban in the real worldRussell Pannone
 
The Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and ScrumThe Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and ScrumRussell Pannone
 
Agile & Lean & Kanban in the Real World - A Case Study
Agile & Lean & Kanban in the Real World - A Case StudyAgile & Lean & Kanban in the Real World - A Case Study
Agile & Lean & Kanban in the Real World - A Case StudyRussell Pannone
 
Agile needs resurgence of visual modeling
Agile needs resurgence of visual modelingAgile needs resurgence of visual modeling
Agile needs resurgence of visual modelingRussell Pannone
 
Agile-Lean requirements position statement
Agile-Lean requirements position statementAgile-Lean requirements position statement
Agile-Lean requirements position statementRussell Pannone
 
5 Levels of Agile Planning Explained Simply
5 Levels of Agile Planning Explained Simply5 Levels of Agile Planning Explained Simply
5 Levels of Agile Planning Explained SimplyRussell Pannone
 
Product backlog stories_acceptancecriteria_size_priority
Product backlog  stories_acceptancecriteria_size_priorityProduct backlog  stories_acceptancecriteria_size_priority
Product backlog stories_acceptancecriteria_size_priorityRussell Pannone
 
Agile Lean Scrum ITIL V2
Agile Lean Scrum ITIL V2Agile Lean Scrum ITIL V2
Agile Lean Scrum ITIL V2Russell Pannone
 
Agile Business Driven Development
Agile Business Driven DevelopmentAgile Business Driven Development
Agile Business Driven DevelopmentRussell Pannone
 
Project Management And Being Agile
Project Management And Being AgileProject Management And Being Agile
Project Management And Being AgileRussell Pannone
 
Conducting An Agile Retrospective
Conducting An Agile RetrospectiveConducting An Agile Retrospective
Conducting An Agile RetrospectiveRussell Pannone
 
The World of Agile/Lean Product Development and Delivery with Scrum Made Easy
The World of Agile/Lean Product Development and Delivery with Scrum Made EasyThe World of Agile/Lean Product Development and Delivery with Scrum Made Easy
The World of Agile/Lean Product Development and Delivery with Scrum Made EasyRussell Pannone
 

Mehr von Russell Pannone (14)

Agile Lean Kanban in the Real World - A Case Study
Agile Lean Kanban in the Real World - A Case StudyAgile Lean Kanban in the Real World - A Case Study
Agile Lean Kanban in the Real World - A Case Study
 
AcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScriptsAcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScripts
 
Agile Lean Kanban in the real world
Agile Lean Kanban in the real worldAgile Lean Kanban in the real world
Agile Lean Kanban in the real world
 
The Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and ScrumThe Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and Scrum
 
Agile & Lean & Kanban in the Real World - A Case Study
Agile & Lean & Kanban in the Real World - A Case StudyAgile & Lean & Kanban in the Real World - A Case Study
Agile & Lean & Kanban in the Real World - A Case Study
 
Agile needs resurgence of visual modeling
Agile needs resurgence of visual modelingAgile needs resurgence of visual modeling
Agile needs resurgence of visual modeling
 
Agile-Lean requirements position statement
Agile-Lean requirements position statementAgile-Lean requirements position statement
Agile-Lean requirements position statement
 
5 Levels of Agile Planning Explained Simply
5 Levels of Agile Planning Explained Simply5 Levels of Agile Planning Explained Simply
5 Levels of Agile Planning Explained Simply
 
Product backlog stories_acceptancecriteria_size_priority
Product backlog  stories_acceptancecriteria_size_priorityProduct backlog  stories_acceptancecriteria_size_priority
Product backlog stories_acceptancecriteria_size_priority
 
Agile Lean Scrum ITIL V2
Agile Lean Scrum ITIL V2Agile Lean Scrum ITIL V2
Agile Lean Scrum ITIL V2
 
Agile Business Driven Development
Agile Business Driven DevelopmentAgile Business Driven Development
Agile Business Driven Development
 
Project Management And Being Agile
Project Management And Being AgileProject Management And Being Agile
Project Management And Being Agile
 
Conducting An Agile Retrospective
Conducting An Agile RetrospectiveConducting An Agile Retrospective
Conducting An Agile Retrospective
 
The World of Agile/Lean Product Development and Delivery with Scrum Made Easy
The World of Agile/Lean Product Development and Delivery with Scrum Made EasyThe World of Agile/Lean Product Development and Delivery with Scrum Made Easy
The World of Agile/Lean Product Development and Delivery with Scrum Made Easy
 

Kürzlich hochgeladen

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

How To Know Your Stories Are At The Right Level Of Detail

  • 1. How to know when a story is at the right level of detail Stories are vital to the Product Backlog, Release Planning and Sprint Planning and delivering something of commercial or operational value iteratively and incrementally. The more experience you have with writing stories, and estimating story size using a relative unit of measure, the easier it will become for you to recognize when a story is at the right level of detail. When you are sizing your stories, at the Product Backlog level, a story should contain just enough detail for the team to be able to estimate its relative size to other stories. When estimating your stories, at the Sprint Backlog level, a story should contain enough detail for the team to be able to determine what the solution involves or what it will take them to deliver the story. Characteristics of good stories Stories are not written contracts or detailed requirements that the system-software must implement. Stories are short descriptions of functionality, the details of which are to be refined in a conversation between the Product Owner (aka, the business or customer) and the development team. The challenge comes in learning to include just enough detail. At the time the story is written some important details may become known, they should be included as acceptance criteria for the story, as shown in Figure 1.0. Figure 1.0 – A story and related acceptance criteria Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved. Page 1 of 5
  • 2. When you’re discussing a story, and the story seems to be getting larger and larger (”what about x?”; “have you considered y?”), stop and ask, “What’s the simplest version of this?” Capture that simple version as its own story. You’ll probably have to define some acceptance criteria on the spot to keep it simple. Then, break out all the variations and complexities into their own stories. So, for example, this story: As a user I can search for flights between two destinations We can disaggregate1 this story into simple stories by splitting off variations like: As a user I can search for flights between two destinations specifying a max number of stops As a user I can search for flights between two destinations including nearby airports As a user I can search for flights between two destinations using flexible dates etc. The fact of the matter is some stories can be too big, some can be too small, and some can be just right. Story size does matter because if stories are too large or too small you cannot use them effectively in planning. Stories that are too big are called Epics. Epics are difficult to work with because they frequently contain multiple stories. For example, in a travel reservation system, “A user can plan a vacation” is an epic. Planning a vacation is important functionality for a travel reservation system but there is just too much functionality in this story; which will result in increasing the teams effort spent estimating the story size and degrade the accuracy of the story estimate. An epic should be split into smaller stories. Epics typically fall into one of two categories: • The compound story • The complex story A compound story is an epic that comprises multiple stories. For example, a job posting application may include the story “A user can post her resume.” When the team talks more about this story with the Product Owner, they find out the “post her resume” actually means: • that a resume can include education, prior jobs, salary history, publications, presentations, community service, and an objective • that users can mark resumes as inactive • that users can have multiple resumes • that users can edit resumes • that users can delete resumes 1 Disaggregation refers to splitting a story into smaller, easier-to-estimate pieces; page 55, Agile Estimating and Planning, by Mike Cohn Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved. Page 2 of 5
  • 3. However, disaggregating an epic this way may go too far in the opposite direction, turning it into a series of stories that are too small. For example: • A Job Seeker can enter a date for each community service entry on a resume • A Job Seeker can edit the date for each community service entry on a resume • A Job Seeker can enter a date range for each prior job on a resume • A Job Seeker can edit the date range for each prior job on a resume Generally, a better solution is to group the smaller stories as follows: • A user can create resumes, which include education, prior jobs, salary history, publications, presentations, community service, and an objective • A user can edit a resume • A user can delete a resume • A user can have multiple resumes • A user can activate and inactivate resumes There are normally many ways to disaggregate a compound story. The preceding disaggregation is along the lines of create, edit, and delete, which is commonly used. This works well if the create story is small enough that it can be left as one story. An alternative is to disaggregate along the boundaries of the data. To do this, think of each component of a resume as being added and edited individually. This leads to a completely different disaggregation: • A user can add and edit education information • A user can add and edit job history information • A user can add and edit salary history information • A user can add and edit publications • A user can add and edit presentations • A user can add and edit community service • A user can add and edit an objective Unlike the compound story, the complex story is a story that is inherently large and cannot easily be disaggregated into a set of constituent stories. If a story is complex because of uncertainty associated with it, you should estimate the size of the story at the highest range of your estimating scale (1, 2, 3, 5, 8, 13, 21, 34, 55, 89). Then in your sprint have an investigate story to more clearly understand what the solution involves to deliver this story. For example, suppose the team is given the story “A company can pay for a job posting with a credit card” but none of the developers has ever done credit card processing before. The team would then decide to disaggregate the story in the sprint like this: Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved. Page 3 of 5
  • 4. Investigate credit card processing over the web • A user can pay with a credit card In this case the first story will send one or more developers on a spike. When complex stories are split in this way, always define a time-box around the investigative story, or spike2. Complex stories are also common when developing new or extending known algorithms. For example, a biotech company had a story to add novel extensions to a standard statistical approach called expectation maximization. The complex story, as part of sprint planning, was divided into stories: the first to research and determine the feasibility of extending expectation maximization; the second to add that functionality to the product. In situations like this one it is difficult to estimate the size of the story, so once again size the story at the highest range of your estimating scale (1, 2, 3, 5, 8, 13, 21, 34, 55, 89). Stories must also be written so as to be testable. Successfully passing its tests proves that a story has been successfully developed. If the story cannot be tested, how can the developers know when they have finished coding? Un-testable stories commonly show up for nonfunctional requirements, which are requirements about the software but not directly about its functionality. For example, consider these nonfunctional requirements: • A user must find the software easy to use • A user must never have to wait long for any screen to appear The preceding are not stories, they are details of a story to be captured as acceptance criteria associated with a story or stories. Sidebar Acceptance criterion such as “a user never has to wait long for any screen to appear” is not testable, because it says “never” and because it does not define what “wait long” means. Demonstrating that something never happens is impossible. A far easier, and more reasonable target, is to demonstrate that something rarely happens. This acceptance criterion could have instead been written as “New screens appear within two seconds in 95% of all cases”; an added bonus is an automated test can be written to verify this. Summary 1. Ideally, stories are independent from one another. This isn’t always possible but to the extent it is, stories should be written so that they can be developed in any order. 2. The details of a story are negotiated between the Product Owner and the team. 2 A spike is an experiment that allows developers to learn just enough about something unknown in a story, e.g. a new technology, to be able to estimate that story. A spike must be time-boxed. This defines the maximum time that will be spent learning and fixes the estimate for the spike. Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved. Page 4 of 5
  • 5. 3. Stories should be written so that their value to the Product Owner is clear. The best way to achieve this is to have the Product Owner write the stories. 4. Stories may be annotated with details, but too much detail obscures the meaning of the story and can give the impression that no conversation is necessary between the team and the Product Owner. One of the best ways to annotate a story is to write acceptance criteria for the story. 5. When stories are too big, compound and complex stories may be disaggregated into multiple smaller stories. 6. When stories are too small, multiple tiny stories may be combined into one bigger story. 7. Stories need to be testable. Tips - experiences from using this approach The more experience you have with writing stories, and estimating story size using a relative unit of measure (1, 2, 3, 5, 8, 13, 21, 34, 55, 89), the easier it will become for you to recognize when a story is at the right level of detail. When you are sizing your stories, at the Product Backlog level, a story should contain just enough detail for the team to be able to estimate its relative size to other stories. When estimating your stories, at the Sprint Backlog level, a story should contain enough detail for the team to be able to determine what the solution involves or what it will take them to deliver the story. Epics are okay to have on your Product Backlog as long as they are stories at the bottom of your Product Backlog (lowest in priority). When you are within 3 Sprints of these stories it is time to disaggregate them. It is okay and expected, for novices during their first couple of Sprints, to discover your estimates were either really low or really high. Written by: Russell Pannone, Copyright © 2010 US-Airways. All rights reserved. Page 5 of 5