User Stories Applied, Mike Cohn

Similar documents
User Stories Applied, Mike Cohn

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Development Processes Agile Adaptive Planning. Stefan Sobek

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint!

What problem do stories address?

Vision, Roadmap, and Release Planning

Product Backlog Document Template and Example

An Intro to Scrum. Agile (Iterative) Project Development. Written in 2001 Can be read in its entirety at:

Adopting Agile Practices

But user stories are not just these small snippets of text. Each user story is composed of three aspects:

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

Booking vacation packages (general)

XP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg

2014 Intelliware Development Inc.

CS3500: Object-Oriented Design Fall 2013

Concur Cliqbook Travel New User Interface

Requirements and User-Centered Design in an Agile Context

How to Write Effective Use Cases? Written Date : January 27, 2016

Agile Tester Foundation E-learning Course Outline

New York University Computer Science Department Courant Institute of Mathematical Sciences

User Stories for Agile Requirements. Mike Cohn - background. Copyright Mountain Goat Software, LLC

CREATING EFFECTIVE USER STORIES

XP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1.

Step 1b. After clicking Create account, you will land on the Request an Egencia User Account page where you will enter the following information:

The Scaled Agile Framework

NTS ONLINE BOOKING TOOL SABRE.RES

User Stories Overrated (Farlig) Lyntale

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

GETTING STARTED. Introduction to Backlog Grooming

ServiceNow - Agile in ServiceNow

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

HP ALM. Software Version: Tutorial

How to buy the ticket online

HP ALM. Software Version: Tutorial

ALM. Tutorial. Software Version: Go to HELP CENTER ONLINE

1. Use the website navigation at the top of the page (eg. Power Booty, Classes, Shop) to locate items you are looking for.

Understanding the Open Source Development Model. » The Linux Foundation. November 2011

Agile Studio USER GUIDE 7.3

How to Register for Classes Online using Schedule Planner

Ready for Scrum? Steve Hutchison DISA T&E

Testing. in A Large scale agile Development Environment

scope documents 5BDF94A36F1E9CDD4ABA26890BF8BCD3 Scope Documents 1 / 7

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

Module 4 Designing, Planning & Estimating

API Operator Training and Examination Program. User s Guide

TABLE OF CONTENTS. WELCOME TO mycsa... LOGGING IN... FORGOT PASSWORD... FIRST TIME REGISTRATION... ACCESS TYPE... GETTING STARTED...

Exam Questions

GETTING STARTED. Building User Story Maps

By Camille Spruill SPC4, SA, CSM, PMP, CBAP. Raleigh Business Analysis Development Day (RBADD) October 18 th, 2016

DESIGN. (Chapter 04)

Visa Payments Control

Virtuoso.com Hotel Booking Program. Overview

VAX VacationAccess Booking Engine

Concur Online Booking Tool: Tips and Tricks. Table of Contents: Viewing Past and Upcoming Trips Cloning Trips and Creating Templates

User Stories Workshop

Agile Implementation The Anaplan Way Dashboard Input Guides

Case Management Digital Service Sprint Review Sprint 5.1: 11/16/17 11/29/17. CWDS / Child Welfare Digital Services

Virtual Classroom Outline. Total Time: Content: Question/answer:

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Concur Request User Guide

Concur Online Booking Tool: Tips and Tricks. Table of Contents: Viewing Past and Upcoming Trips Cloning Trips and Creating Templates

Your FlightPath Guide

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017

Overture Advertiser Workbook. Chapter 4: Tracking Your Results

<Insert Picture Here> CxP Design Sprint

PART 1: BEGINNING PROFILES, RES CARDS, REMINDERS AND MARKETING CODES

Requirements Validation and Negotiation

Administration Guide. Release

Updating Your Travel Profile... 3 Travel Arranger... 3 Access... 3 Obtain Airfare Quote.. 5. Obtain Car Rental Quote.. 8. Obtain Hotel Room Quote 10

Extreme programming XP 6

2007, 2008 FileMaker, Inc. All rights reserved.

Customer Portal User Manual

needs, wants, and limitations

UNIT II Requirements Analysis and Specification & Software Design

User Experience for Choosing Flight Dates

Automated Acceptance testing by Developers & Automated Functional Testing by Testers

TIS HELP VCCS TECHNICAL INFORMATION SHOP (TIS) INSTRUCTION FOR INDEPENDENT OPERATORS

Preliminary Findings. Vacation Packages: A Consumer Tracking and Discovery Study. Exploring Online Travelers. November 2003

Tracking System for Job Applicants Sprint Schedule and Overview. By Erik Flowers

Request form for a Russian Business Invitation

Pega Agile Studio USER GUIDE 7.4

Event Venue Planner. 1. Story. 2. Point of View. opensap 2016 Development Challenge. Build Your Own SAP Fiori App in the Cloud 2016 Edition

How to post a job on Inside Higher Ed

Access Online. Navigation Basics. User Guide. Version 2.2 Cardholder and Program Administrator

Introduction to Extreme Programming

Welcome to the easy step-by-step instructions on how to register for the Energy Generation Conference.

Push Notifications: A Review of Best Practices for Mobile Product Managers

Travel Management System (TMS) Help Doc

Merchant Portal User Guide

Please refer to your booking for Log in Details. QS Outreach guide

The Need for Agile Project Management

Microsoft. Recertification for MCSD: Application Lifecycle Management

The (R)evolution of Search. A Travelport Perspective

EXHIBITOR MANUAL. Exhibit Company: Stagevision, Inc

SE420 - Software Quality Assurance

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Samples of Features and Feature Stories CSc 190

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Agile FleetCommander User s Guide

Transcription:

User Stories Applied, Mike Cohn Chapter 1: An Overview Composed of three aspects: 1. Written description of the story used for planning and as a reminder 2. Conversations about the story that serve to flesh out the details of the story 3. Tests that convey and document details and that can be used to determine when a story is complete Card, Conversation, Confirmation 1

Airline Registration System FEATURE: User wishes to book a flight USER STORIES: User needs to book a one way flight User needs to specify the number of passengers for this booking User needs to indicate departure airport User needs to indicate date and time of departure User needs to indicate destination airport User needs to know date and time of arrival User needs to book a roundtrip flight User needs to indicate date and time of return departure User needs to know date and time of return arrival

Hypothetical: BigMoneyJobs job posting & search website Story card 1.1 An initial user story written on a note card Sample stories: A user can post her resume to the website. A user can search for jobs A user can limit who can see her resume User stories represent functionality valued by users! Not good examples: The software will be written in C++ The program will connect to the database through a connection pool 3

The Story details Start with a blank webpage identify the tasks needed to search for a job. List the unanswered questions about the search: What values can users search on? Does the user have to be a member of the site? Can search parameters be saved? What information is displayed for matching jobs? These details can be expressed as additional stories Better to have more stories than to have stories that are too large 4

Two large epic stories 1. A user can search for a job 2. A company can post job openings Good to have stories requiring functionality that can be designed, coded and tested between a half day and two weeks by one or a pair of programmers. Splitting epic stores (example splitting 1. above): 1.1 A user can search for jobs by attributes like location, salary range, job title, company name, and date the job was posted 1.2 A user can view information about each job that is matched by a search 1.3 A user can view detailed information about a company that has posted a job 5

Discussing the details of each story The conversation is essential Product Owner (customer/user) discusses with developers The intent is not to develop a formal contract! Acceptance criteria Agreement on the story is documented by tests that demonstrate that the story has been implemented correctly 6

Each Story How long does it have to be? Must define the expectations of the users Using paper note cards list the expectations on the back 1.3 A user can view detailed information about a company that has posted a job Acceptance tests (reminders about how to test the story) Try it with an empty job description Try it with a really long job description Try it with a missing salary Try it with a six-digit salary (Reminders about how to test are written on the back of the story card) Note: Initially, meant to be short and incomplete Tests can be added and removed later 7

On and ideal project: The Customer Team One person with unlimited understanding or knowledge, prioritizes work for the developers, answers their questions That person would writes all the stories and uses the software when it is finished Realistically: Whomever understand what is required to ensure that the software will meet the needs of its intended users 8

Product Owner What is the process like? Involved throughout the duration of the project Expected to be actively involved in writing and approving user stories Included are as many user types as possible For a travel reservation website, include are: frequent flyers vacation planners etc. 9

Why the Product Owner must write the stories Two reasons: 1. Each story must be written in the language of the business, not in technical jargon and can be prioritized the stories for inclusion into iterations and releases 2. The Product Owner serves as the primary product visionary They are best at describing the expected behavior of the product 10

Iteration (Sprint) Planning Product Owner and developers collaborate Iteration length is decided upon and used for the duration of the project At the end of each iteration, developers deliver go-live, fully usable code for some subset of the application Product Owner: Is involved at the start of each Sprint and at the end of each Sprint Specifies acceptance criteria Is responsible for ensuring that the project is constantly moving toward delivery of the desired product 11

more on the process Velocity Once the iteration length is selected developers (Scrum Team) estimate how much work will be done per Iteration (Sprint) The initial estimate! Used to make a rough sketch of the work in each Iteration and how many Iterations will be needed Release plan Stories are sorted into piles, each representing an iteration The sum of the estimates for each story add-up to the estimated velocity Highest priority stories go first Prior to the start of each iteration, the Product Owner can make mid-course corrections 12

Planning Releases and Iterations Product Owner prioritizes the stories based on: Desirability of the feature to a broad base of users Desirability of the feature to a small number of important users Cohesiveness of the story in relation to the other stories in the release Product Owner considers priorities of developers Technical risk of certain stories Complementary nature of other stories Product Owner prioritizes the stories to maximize the value to be delivered 13

Stories and Story Points Story points are a unit of measure for expressing an estimate of the overall effort that will be required to fully implement a Product Backlog item or any other piece of work. When we estimate with story points, we assign a point value to each story. Story points are a arbitrary measure used by Scrum teams used to measure the effort required to implement a story In simple terms its a number that tells the team how hard the story is. Hard could be related to complexity, Unknowns and effort. 14

Iteration assignments: stories and their costs Story Story Points Story A 3 Story B 5 Story C 5 Story D 3 Story E 1 Story F 8 Story G 5 Story H 5 Story I 5 Story J 2 Planned Iterations Iteration Stories Story Points Iteration 1 A, B, C 13 Iteration 2 D, E, F 12 Iteration 3 G, H, J 12 Iteration 4 I 5 Story I (5 points) split into Story Y (3 points) and Story Z (2 points) Iteration Stories Story Points Iteration 1 A, B, C 13 Iteration 2 D, E, F 12 Iteration 3 G, H, Y 12 Iteration 4 J, Z 5 15

What are Acceptance Tests? Written early in the iteration early communication of customer team s assumptions & expectations to developers Sample story: A user can pay for the items in her shopping cart with a credit card. Simple tests (written on back of story card) 1. Test with Visa, MasterCard and American Express (pass) 2. Test with Diner s Club (fail) 3. Test with a Visa debit card (pass) 4. Test with gook, bad and missing card ID numbers (back of card) 5. Test with expired cards 6. Test with different purchase amounts (include one over the card limit) 16

Why change from a Requirement s Document or Use Cases? Users Stories: Emphasize verbal rather than written communication Are comprehensible by the developers Are the right size for planning Work fit for iterative development Free of technical jargon (comprehensible to both developers and the customer team) Encourage deferring detail until you have the best understanding about what you really need Each user story (clearly) represents a discrete piece of functionality that clearly represents what a user would be able to do 17