User Stories Applied, Mike Cohn Chapter 1: An Overview

Slides:



Advertisements
Similar presentations
Copyright © , Armstrong Process Group, Inc., and others All rights reserved Made available under EPL v1.01 Project Management Review Eclipse Process.
Advertisements

Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
Iteration Planning.
Writing Good User Stories Bob Schommer, CSP, PMP Senior Project Manager Skyline Technologies, Inc.
Renato Pinto López TUM18 - UPM. Sprint Planning Meeting ATTENDED BY PRODUCT OWNER (PO), SCRUM MASTER AND SCRUM TEAM PO DESCRIBES THE HIGHEST PRIORITY.
User Stories in an Agile Environment Mike McLaughlin, PMP, CSM, CSP Project Management Institute Kansas City Mid America Chapter March 19, 2012.
Agile Project Management with Scrum
NAUG NAUG Knowledge Evening – th February 2007.
Agile development By Sam Chamberlain. First a bit of history..
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
© 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Deeper Dive Into: User Stories.
What is Scrum Process? Where is it used? How is it better?
Scrum’s Product Owner Role Jeff Patton Agile Product Design
Current Trends in Systems Develpment
R ELEASE P LANNING. H ELPFUL R ESOURCES Planning Extreme Programming, Kent Beck and Martin Fowler Extreme Programming Installed, Ron Jeffries, Ann Anderson.
Agile User Stories. What is a User Story? User stories are short, simple description of a feature told from the perspective of the person who desires.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
Applied Software Project Management
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Planning Extreme programming
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
User Stories- 2 Advanced Software Engineering Dr Nuha El-Khalili.
Introduction to Agile. Introduction Who is this guy?
CSE Senior Design II Scrum Review/Discussion Instructor: Mike O’Dell.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile Project Management and the yin & yang of
User Stories 1.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Project Management
Scrum.
Agile Training Day 2 November 17, 2015.
Scrum and TargetProcess
Agile Training – Agile Overview
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Scrum Management
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Risk Lab Exercises.
Project Workflow.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Mike Cohn - Agile Estimating and Planning
Requirements and User Stories
Chapter 3: The Project Management Process Groups: A Case Study
Operational and Postimplementation
User Stories Applied, Mike Cohn Chapter 1: An Overview
Scrum MODULE 3 – Part 3.
Burn Down charts for Project Management
Johanna Rothman Agile Team Measurements Chapter 12
How to Successfully Implement an Agile Project
Summarizing Our Models to Date
Johanna Rothman Know What “Done” Means Chapter 11
User Stories Applied, Mike Cohn Chapter 2: Writing Stories
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Project Management Process Groups
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
User Stories Applied, Mike Cohn Chapter 2: Writing Stories
Projects, Assignments, and other Assessments
Software Testing Lifecycle Practice
Scrum in Action.
Time Scheduling and Project management
Agile Development.
Speaker’s Name, SAP Month 00, 2017
Presentation transcript:

User Stories Applied, Mike Cohn Chapter 1: An Overview Composed of three parts: Written description of the story (used for planning and as a reminder) Conversations about the story that provide the necessary details Acceptance Criteria that provide for the tests that convey and document details and that can be used to determine when a story is complete Card, Conversation, Confirmation

The 3 C’s Card User stories are written on cards. The card does not contain all the information that makes up the requirement. Instead, the card has just enough text to identify the requirement, and to remind everyone what the story is. The card is a token representing the requirement. It’s used in planning. Notes are written on it, reflecting priority and cost.

The 3 C’s Conversation The requirement itself is communicated from customer to programmers through conversation: An exchange of thoughts, opinions, and feelings. This conversation takes place over time, particularly when the story is estimated (usually during release planning), and again at the iteration planning meeting when the story is scheduled for implementation. The conversation is largely verbal, but can be supplemented with documentation. The best supplements are examples; the best examples are executable, We call these examples confirmation..

The 3 C’s Confirmation No matter how much discussion or how much documentation produced, you can’t be as certain as you need to be about what is to be done. The third C in the user story’s key aspects adds confirmation which is the acceptance test! At the beginning of the iteration, the customer communicates to the programmers what is needed… that they’ve done what is needed. Acceptance tests that will be used to show that the story has been implemented correctly.

Example: Airline Registration System FEATURE: User wishes to book a flight Example of USER STORIES (what the users need to be able to do) 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 refer to functionality valued by users! Some not so good examples: The software will be written in C++ The program will connect to the database through a connection pool

Big Money Jobs: The story … the details… Start with a blank webpage… identify the tasks needed to search for a job. The tasks represent the all of what is needed to meet the user’s need. 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 Note: better to have more stories than to have stories that are too large

Large “epic” stories (not doable during one iteration) 1. A user can search for a job 2. A company can post job openings Best 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

Each Story… “How long does it have to be?” Must define the expectations of the users 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 (what is needed to verify design correctness) 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 the testing needed can be written on the back of the story card) Note: Initially, stories are meant to be short and incomplete Tests can be added, modified and/or removed later

Discussing the details of each story The conversation is “essential” Details are “worked” out between Product Owner (Client) and the team These details are recorded client confirmation Discussion between the Product Owner (customer/user) and the developers Acceptance criteria Agreement on implementation of the story is documented by tests needed to demonstrate that the story has been implemented correctly

The Customer Team On and IDEAL project: The Customer Team has at least one person with unlimited understanding or knowledge of what is needed, can prioritizes work for the developers, and can answers their questions That person provides all the stories and knows what user needs the software must provide In Scrum this is the “Product Owner” For large corporations the Product Owner would be the company’s “Business Analyst” Or…whomever has an understanding of what is required to ensure that the software will actually meet the needs of its intended users

What is the process like? Product Owner / Business Analyst (that “one” person) Involved throughout the duration of the project Expected to be actively involved in defining and approving user stories Expected to identify as many user “types” as needed For a travel reservation website, the list might include: frequent flyers vacation planners etc.

Why the Product Owner must write the stories… Two reasons: Each story must be written in the language of the business (the “domain”) … no technical jargon… Each story must be prioritized to ensure that the team is always working on the highest priority requirements (represented by the set of user stories) The Product Owner is the team’s Client … the primary product visionary… They are best at describing the expected behavior of the product

Iteration (Sprint) Planning Product Owner and the team… must collaborate Iteration length is decided upon… and used for the duration of the project (Senior Project: 2 weeks) At the end of each iteration, the team is expected to deliver go-live, fully usable functionality Go Live means Done Done! Product Owner: Is involved at the start of each Sprint … and at the end of each Sprint Responsible for specifying Features, User Stories, and acceptance criteria Responsible for ensuring that the project is constantly moving toward delivery of the desired product

… more on the “iterative” process Velocity For two week iterations, the Team estimates how much work (user stories) can be scheduled for each Iteration (the Sprint) The initial estimate! Used as a rough estimate of the work that can be completed in each Iteration and how many Iterations will be needed Release plan Stories are listed in priority order … The team “pulls” a number of highest priority (not “done”) stories for each iteration The number of stories pulled represents the team’s estimate of that can be implemented by the end of each Sprint The estimate represents the The sum of the story points for each of these stories represents the estimated “velocity” for the Sprint (the team’s estimated Prior to the start of each iteration, the Product Owner can make “mid-course” corrections as needed

Planning Releases and Iterations Product Owner prioritizes the stories based on: Desirability of the feature for a broad base of users Desirability of the feature for 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

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.

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

Why change from a Requirement’s Document or Use Cases? Users Stories: Emphasize verbal rather than written communication Are understood by the developers Are the right size for planning Represent work fit for iterative development Are free of technical jargon (comprehensible to both developers and the customer team) Encourages 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… ”

SCRUM Project Framework at a Glance

 SCRUM Sprint Framework at a Glance Sprint Faculty Weekly Adviser (Team meeting Faculty Advisor)  Sprint Go-live functionality added to the “Build” Product Owner assesses work completed… approval and changes Team assesses work … what was learned how could they improve

Iteration assignments: stories and their “costs” Planned Iterations Story I (5 points) split into Story Y (3 points) and Story Z (2 points)