Tag Archives: bill wake

Summary of User Stories: The Three “C”s and INVEST

User Stories

Learning Objectives

Becoming familiar with the “User Story” approach to formulating Product Backlog Items and how it can be implemented to improve the communication of user value and the overall quality of the product by facilitating a user-centric approach to development.

Consider the following

User stories trace their origins to eXtreme Programming, another Agile method with many similarities to Scrum. Scrum teams often employ aspects of eXtreme Programming, including user stories as well as engineering practices such as refactoring, test-driven development (TDD) and pair programming to name a few. In future modules of this program, you will have the opportunity to become familiar enough with some of these practices in order to understand their importance in delivering quality products and how you can encourage your team to develop them. For now, we will concentrate on the capability of writing good user stories.

The Three ‘C’si

A User Story has three primary components, each of which begin with the letter ‘C’:

Card

  • The Card, or written text of the User Story is best understood as an invitation to conversation. This is an important concept, as it fosters the understanding that in Scrum, you don’t have to have all of the Product Backlog Items written out perfectly “up front”, before you bring them to the team. It acknowledges that the customer and the team will be discovering the underlying business/system needed as they are working on it. This discovery occurs through conversation and collaboration around user stories.
  • The Card is usually follows the format similar to the one below

As a <user role> of the product,

I can <action>

So that <benefit>.

  • In other words, the written text of the story, the invitation to a conversation, must address the “who”, “what” and “why” of the story.
  • Note that there are two schools of thought on who the <benefit> should be for. Interactive design specialists (like Alan Cooper) tell us that everything needs to be geared towards not only the user but a user Persona with a name, photo, bio, etc. Other experts who are more focused on the testability of the business solution (like Gojko Adzic) say that the benefit should directly address an explicit business goal. Imagine if you could do both at once! You can, and this will be discussed further in more advanced modules.

Conversation

  • The collaborative conversation facilitated by the Product Owner which involves all stakeholders and the team.
  • As much as possible, this is an in-person conversation.
  • The conversation is where the real value of the story lies and the written Card should be adjusted to reflect the current shared understanding of this conversation.
  • This conversation is mostly verbal but most often supported by documentation and ideally automated tests of various sorts (e.g. Acceptance Tests).

Confirmation

  • The Product Owner must confirm that the story is complete before it can be considered “done”
  • The team and the Product Owner check the “doneness” of each story in light of the Team’s current definition of “done”
  • Specific acceptance criteria that is different from the current definition of “done” can be established for individual stories, but the current criteria must be well understood and agreed to by the Team.  All associated acceptance tests should be in a passing state.

INVESTii

The test for determining whether or not a story is well understood and ready for the team to begin working on it is the INVEST acronym:

I – Independent

  • The solution can be implemented by the team independently of other stories.  The team should be expected to break technical dependencies as often as possible – this may take some creative thinking and problem solving as well as the Agile technical practices such as refactoring.

N – Negotiable

  • The scope of work should have some flex and not be pinned down like a traditional requirements specification.  As well, the solution for the story is not prescribed by the story and is open to discussion and collaboration, with the final decision for technical implementation being reserved for the Development Team.

V – Valuable

  • The business value of the story, the “why”, should be clearly understood by all. Note that the “why” does not necessarily need to be from the perspective of the user. “Why” can address a business need of the customer without necessarily providing a direct, valuable result to the end user. All stories should be connected to clear business goals.  This does not mean that a single user story needs to be a marketable feature on its own.

E – Estimable

  • The team should understand the story well enough to be able estimate the complexity of the work and the effort required to deliver the story as a potentially shippable increment of functionality.  This does not mean that the team needs to understand all the details of implementation in order to estimate the user story.

S – Small

  • The item should be small enough that the team can deliver a potentially shippable increment of functionality within a single Sprint. In fact, this should be considered as the maximum size allowable for any Product Backlog Item as it gets close to the top of the Product Backlog.  This is part of the concept of Product Backlog refinement that is an ongoing aspect of the work of the Scrum Team.

T – Testable

  • Everyone should understand and agree on how the completion of the story will be verified. The definition of “done” is one way of establishing this. If everyone agrees that the story can be implemented in a way that satisfies the current definition of “done” in a single Sprint and this definition of “done” includes some kind of user acceptance test, then the story can be considered testable.

Note: The INVEST criteria can be applied to any Product Backlog Item, even those that aren’t written as User Stories.

Splitting Stories:

Sometimes a user story is too big to fit into a Sprint. Some ways of splitting a story include:

  • Split by process step
  • Split by I/O channel
  • Split by user options
  • Split by role/persona
  • Split by data range

WARNING: Do not split stories by system, component, architectural layer or development process as this will conflict with the teams definition of “done” and undermine the ability of the team to deliver potentially shippable software every Sprint.

Personas

Like User Stories, Personas are a tool for interactive design. The purpose of personas is to develop a precise description of our user and so that we can develop stories that describe what he wishes to accomplish. In other words, a persona is a much more developed and specific “who” for our stories. The more specific we make our personas, the more effective they are as design tools.iii

Each of our fictional but specific users should have the following information:

  • Name
  • Occupation
  • Relationship to product
  • Interest & personality
  • Photo

Only one persona should be the primary persona and we should always build for the primary persona. User story cards using personas replace the user role with the persona:

<persona>

can <action>

so that <benefit>.

 


i The Card, Conversation, Confirmation model was first proposed by Ron Jeffries in 2001.

ii INVEST in Good Stories, and SMART Tasks. Bill Wake. http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/

iii The Inmates are Running the Asylum. Alan Cooper. Sams Publishing. 1999. pp. 123-128.


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Good Explanation of INVEST for User Stories

Mike Caspar, a fellow agile coach,  just forwarded me this YouTube video to Bill Wake talking about INVEST for User Stories.  I worked briefly with Bill back in 2004/2005 at Capital One where he did some excellent coaching.  I strongly recommend checking out the video!


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Team Room Photos

Bill Wake has a great collection of photos of team rooms for agile teams.


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail
Berteig
Upcoming Courses
View Full Course Schedule
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1795.00
Jan 19
2021
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1795.00
Jan 21
2021
Details
The Myth of Self-Organizing Teams - Lunch Session
Online
C$0.00
Jan 21
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1595.00
Jan 26
2021
Details
Seven Design Thinking Tips for Product Owners - Lunch Session
Online
C$0.00
Feb 2
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1595.00
Feb 8
2021
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1195.00
Feb 10
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1795.00
Feb 11
2021
Details
Banking on Kanban - Kanban in the Financial Sector
Online - Instructor Led
C$149.00
Feb 11
2021
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
Feb 17
2021
Details
Advanced Certified ScrumMaster® (A-CSM) [Virtual Learning]
Online
C$1440.75
Feb 17
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Feb 23
2021
Details
Dealing with Slackers, Idiots and Subversives in Agile Teams - Lunch Session
Online
C$0.00
Feb 23
2021
Details
Deadlines Are Dead To Me - Dealing with Deadlines in Agile Teams
Online - Instructor Led
C$149.00
Feb 23
2021
Details
Kanban Systems Improvement® (KMP II) [Virtual Learning]
Online
C$1525.75
Feb 25
2021
Details
Master Kanban for Scrum - Kanban for Scrum Masters
Online - Instructor Led
C$149.00
Feb 25
2021
Details
Stop the BS Metrics! Performance Reviews in Agile Teams - Lunch Session
Online
C$0.00
Mar 2
2021
Details
Kanban Your Projects - Kanban for Project Managers
Online - Instructor Led
C$128.14
Mar 4
2021
Details
Advanced Certified Scrum Product Owner® (A-CSPO) [Virtual Learning}
Online
C$1440.75
Mar 9
2021
Details
Leave Us Alone! - Dealing with Urgent Interruptions in Agile Teams
Online - Instructor Led
C$126.65
Mar 9
2021
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Mar 10
2021
Details
Banking on Kanban - Kanban in the Financial Sector
Online - Instructor Led
C$126.65
Mar 10
2021
Details
Deadlines Are Dead To Me - Dealing with Deadlines in Agile Teams
Online - Instructor Led
C$126.65
Mar 18
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Mar 22
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Mar 25
2021
Details
What the Heck is Kanban? - Introduction to the Kanban Method
Online - Instructor Led
C$126.65
Mar 25
2021
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
Mar 30
2021
Details
Advanced Certified ScrumMaster® (A-CSM) [Virtual Learning]
Online
C$1440.75
Mar 30
2021
Details
Kanban Your Projects - Kanban for Project Managers
Online - Instructor Led
C$126.65
Mar 31
2021
Details
Master Kanban for Scrum - Kanban for Scrum Masters
Online - Instructor Led
C$126.65
Apr 1
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Apr 6
2021
Details
Banking on Kanban - Kanban in the Financial Sector
Online - Instructor Led
C$126.65
Apr 6
2021
Details
Leave Us Alone! - Dealing with Urgent Interruptions in Agile Teams
Online - Instructor Led
C$126.65
Apr 6
2021
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Apr 8
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Apr 13
2021
Details
What the Heck is Kanban? - Introduction to the Kanban Method
Online - Instructor Led
C$126.65
Apr 15
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Apr 21
2021
Details
Master Kanban for Scrum - Kanban for Scrum Masters
Online - Instructor Led
C$126.65
Apr 22
2021
Details
Deadlines Are Dead To Me - Dealing with Deadlines in Agile Teams
Online - Instructor Led
C$126.65
Apr 22
2021
Details
Advanced Certified Scrum Product Owner® (A-CSPO) [Virtual Learning]
Online
C$1440.75
Apr 27
2021
Details
Kanban Your Projects - Kanban for Project Managers
Online - Instructor Led
C$126.65
Apr 27
2021
Details
Advanced Certified ScrumMaster® (A-CSM) [Virtual Learning]
Online
C$1695.00
Apr 29
2021
Details
What the Heck is Kanban? - Introduction to the Kanban Method
Online - Instructor Led
C$126.65
May 6
2021
Details
Leave Us Alone! - Dealing with Urgent Interruptions in Agile Teams
Online - Instructor Led
C$126.65
May 6
2021
Details
Kanban Systems Improvement® (KMP II) [Virtual Learning]
Online
C$1525.75
Jun 1
2021
Details