WRITING USER STORIES. presented by, Nicholas Cancelliere CSM/CSP. ncancelliere@gmail.com



Similar documents
User Stories Applied

D25-2. Agile and Scrum Introduction

LEAN AGILE POCKET GUIDE

Agile Scrum Workshop

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

The Agile Manifesto is based on 12 principles:

Course Title: Managing the Agile Product Development Life Cycle

Getting Agile with Scrum

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Vision created by the team. Initial Business Case created. Cross functional resource meeting held. Agile alignment meeting

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is?

User Stories Applied. For Agile Software Development. XP Atlanta February 10, 2004 By Mike Cohn

SCRUM & AGILE. Everything You Need To Know

User Stories. Randy Shepherd NYU

Agile Software Development. Stefan Balbo / Patrick Dolemieux

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM )

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

Course Title: Planning and Managing Agile Projects

1. Sprint Planning. Agile Ceremonies Demystified. A four part series written by Angela Boardman, CSM, CSP ATG (4284)

Waterfall to Agile. DFI Case Study By Nick Van, PMP

A Glossary of Scrum / Agile Terms

Managing Agile Projects in TestTrack GUIDE

Agile for Product Owners

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

SECC Agile Foundation Certificate Examination Handbook

FREE ONLINE EDITION. (non-printable free online version) Brought to you courtesy of Sprint-IT &

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Requirement Gathering for small Projects using Agile Methods

An Example Checklist for ScrumMasters

AGILE - QUICK GUIDE AGILE - PRIMER

Agile Methods for Analysis

Agile Metrics - What You Need to, Want to, and Can Measure. June 9, 2014

Software Development Methodologies

Sometimes: 16 % Often: 13 % Always: 7 %

Introduction to Agile and Scrum

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile Systems Engineering: What is it and What Have We Learned?

Capstone Agile Model (CAM)

An Introduction to Agile Performance Management

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Product Backlog & Intro to User Stories

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Would you like to have a process that unlocks ability to learn and produce faster?

Introduction to Scrum

Chapter 28: Expanding Web Studio

Assignment 1: Your Best Backlog

The Agile PMO. Contents. Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc E. Third Avenue, Suite 205 Foster City, CA 94404

Issues in Internet Design and Development

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Building a Better Backlog

FIELD GUIDE TO LEAN EXPERIMENTS

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

EXIN Agile Scrum Foundation. Sample Exam

How Silk Central brings flexibility to agile development

Agile Team Roles Product Owner & ScrumMaster. Brian Adkins Rick Smith

Agile in Financial Services A Framework in Focus

AGILE & SCRUM. Revised 9/29/2015

Scaling Scrum Professionally using Nexus and Visual Studio Team Services

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

Agile Requirements Management with User Stories

ONLINE SAFETY TEACHER S GUIDE:

GUIDE TO ERP IMPLEMENTATIONS: WHAT YOU NEED TO CONSIDER

Agile with XP and Scrum

Agile software development

Using Use Cases on Agile Projects

How To Set Up A Video Referral Marketing Campaign That Spits Out Referrals & Repeat Business

Agile Based Software Development Model : Benefits & Challenges

The Business Analyst role on Agile teams

From Agile by Design. Full book available for purchase here.

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Project Management in Software: Origin of Agile

Secrets of a Scrum Master: Agile Practices for the Service Desk

Employee Engagement Action Planning Toolkit

Scrum and Agile methods The real world

Presentations Phrases Prepositions Pairwork Student A Choose one of the sections below and read out one of the example sentences with a gap or noise

Agile First Steps: Building Effective Backlogs

Agile and lean methods for managing application development process

"Bezpieczny Projekt"

Keeping a Healthy Product Backlog

Career Builder Course Bundle

Agile Software Development

Introduction to User Story Mapping. July 2015 COPYRIGHT 2015 AGILITY SOFTWARE 1

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Good Call. A Guide to Driving Calls with AdWords

Adopting Agile Testing

15 Most Typically Used Interview Questions and Answers

serena.com An Introduction to Agile Software Development

Do you wish you could attract plenty of clients, so you never have to sell again?

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

Is PRINCE 2 Still Valuable in an Agile Environment?

Agile Metrics. It s Not All That Complicated

Iteration Planning. also called Iteration Kickoff

Scrum. in five minutes

Measuring ROI of Agile Transformation

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Transcription:

WRITING USER STORIES presented by, Nicholas Cancelliere CSM/CSP ncancelliere@gmail.com

Background Agile since 2003 HomeAway.com InCircuit Development Corp Involved in web development for over 11 years NTT Communications / Verio Certified Scrummaster (CSM) and Scrum Practitioner (CSP)

Personal Objectives What is your reason for attending today? Who are you? What organization do you work for? What is your role?

Before We Begin No electronics (unless it is an emergency) One conversation at a time Remember, we learn by our mistakes Restrooms and services Anything else, it is your meeting!? Parking Lot discussions that are off-topic

Purpose To learn how to write user stories, understanding: card, conversation, confirmation. Learn about the INVEST acronym and how to apply it in writing and evaluating user stories.

Approach to Learning Shuhari: a Japanese martial arts concept describing stages of learning to mastery. Shu - Follow (success = following technique) Ha - Break-Away (learn the limits of a technique) Ri - Fluency (shift techniques by moment, improvise)

What are User Stories? How would you describe user stories? What are ways projects (traditionally) communicate requirements? Why do you think user stories are so popular with Agile software development projects?

The Agile Manifesto Individual and interactions over process and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

User Stories Are... a written description (card) used for planning and as a reminder/promise note conversations to/which flesh out details provide confirmation criteria (to know work is completed)

They Are Not... Use Cases IEEE (or Detailed) Requirements Scenarios

Not Use Cases User stories are smaller than use cases because they are used to schedule work they cover a smaller scope tend to cover a single scenario of a use case (e.g. main success)

Not Use Cases Use cases live past the iteration, user stories survive up to the iteration they re scheduled in Use cases tend to include more details (e.g. user interface elements*) Use cases usually act to document agreements between dev and customers Use cases are a result of analysis activity, while stories initiate analysis conversations * despite admonishments to avoid this. (Cockburn 2001) This is a bad practice because instead of focusing on user goals we tend to focus on implementation when faced with a user interface preconception.

Use Case Example Compose and send an e-mail message. 1. User selects the New Message menu item. 2. System presents the user with the Compose New Message dialog. 3. User edits e-mail body, subject, and recipient(s). 4. User click the Send button. 4a. User provides no e-mail subject or recipient 4b. System cannot connect to mail server 5. System sends the message.

Not IEEE Requirements Eats, shoots, and leaves. Eats shoots and leaves. What am I? A cowboy in a saloon? A panda bear?

Not IEEE Requirements Entrée comes with choice of soup or salad and bread. Say again? Soup or (Salad and Bread) (Soup or Salad) and Bread

Detailed Req. Example 1. The product shall have a gasoline-powered engine. 2. The product shall have four wheels. a. The product shall have a rubber tire mounted to each wheel. 3. The product shall have a steering wheel. a. The product shall have a horn on the steering wheel. 4. The product shall have a steel body. Goal: To make it easy and fast for me to mow my lawn. (by the way, what do you think this is?)

Not IEEE: Verbalized Detailed requirements erroneously assumes that if everything is written down and agreed to then there can be no disagreements User stories do not document every last detail, but instead keep a few short sentences to jog our memory of needed conversations

Not IEEE: Comprehensible Detailed requirements often written in technical jargon unfamiliar to business users or customers User stories are written using words that everyone can understand enable people to recall unstated actions, because of their story nature* * In the late 70s, a study concluded people were found to be better able to remember events (including actions and inferred actions) if they were organized into stories. (Bower, Black and Tuner 1979)

Not IEEE: Right-sized Detailed requirements often sprinkled throughout a requirements document difficult to estimate and prioritize separately User stories self-contained with everything necessary to be estimated and planned easy to estimate and prioritize value

Not IEEE: Iterative Dev Detailed requirements not optimized for progressive detail completism: people feel compelled to fill a form when faced with one User stories encourage the deferring of details have a simple format, no set form

Not IEEE: Opportunistic Users don t know what they want exactly We always find things as the system develops Even if we could figure it all out ahead of time things change (eg market conditions, user needs) As human beings we can comprehend only a limited set of information Human beings make mistakes

Not IEEE: Opportunistic User stories thrive on opportunity do not rely on users knowing exactly everything fully in advance do not rely on you comprehending a vast array of details most importantly embrace change

Not Scenarios Scenarios are typically large and more encompassing than a use case too much scope too much detail Usually you can extract many upon many user stories out of a scenario

Example Scenario John and his family are thinking about taking a vacation. John doesn t like hotels, they re uncomfortable and would prefer to stay in a house. A house would provide at-home amenities and give each family member plenty of personal space. John wants to find a house near the beach and not too far from Disney World, Florida. He enters his search criteria Disney World Florida beach vacation, on the homepage. He further refines his search to homes that have 3 bedrooms, a pool and a DVD player. He reviews the remaining selections, checks maps of where they are, and availability. He finds one he likes and books it on-line through the web site.

Why User Stories? Emphasize verbal rather than written communication Generate tacit knowledge Comprehensible by everyone Right-sized for planning/estimating Work for iterative development Encourage participatory design

Writing a Story As a {user} I need/want to {fn} so that/to {biz value} Remember to use language that everyone can understand Focus on the user goal (3W s): Who is the user? What do they want to do? Why do they need to do that?

Example Stories A buyer can establish an account that remembers shipping and billing information. As a player I want to cast spells that heal friendly players I target. As a user I want to wirelessly use another PC s drive as a local drive on my PC.

Your Mission Today Write software for Rosie the Robot: As a state-of-the-art automated homemaker, Rosie needs your team to develop software that enables her to fulfill this role for the typical family of four with a dog. Individually create a backlog of 5-8 stories. Kids can contact Rosie to get a ride home from school.

Individual Negotiable Valuable Estimatable Small Testable INVEST

Individual As much as possible avoid dependencies between stories When dependencies arise Combine the stories into one larger (but independent story) Find a different way of splitting them up Alternatively put 2 estimates down (one for if the story is done first, or another done after)

Negotiable User stories are not contracts or requirements that the software must implement Provide the right amount of information a phrase or two that act as a conversation reminder notes about issues to be resolved Details that have been determined through conversation become tests.

Valuable Each story must be valued by the users and/or purchasers of the system/software Avoid stories only valued by developers Best way to make sure they re valuable is to have the customer write the stories User Proxies Be aware of biases when using user proxies

Valuable Sushi vs Sashimi View Controller Model

Estimatable Developers need to be able to take a guess at the size of a story (either in amount of time or effort) Reasons developers cannot estimate: Developers lack domain knowledge Developers lack technical knowledge The story is too big (referred to as epic )

Spike Story Rather than generate a feature (value), these stories generate knowledge/learning In XP a spike is a brief experiment (usually with throw-away code) to learn just enough to be able to make an estimate They are time-boxed learning stories, so we are able to put an estimate on them Because they are stories the Product Owner has visibility and can prioritize them

Small Story size matters Too big, they cannot fit into a sprint Too small, provide no value to the user Compound stories are epic stories that can be clearly decomposed into individual stories Complex stories that cannot be decomposed and are large because of uncertainty or high complexity -- then use a spike

Epic Story Stories that are too large to be accomplished in a single sprint are considered epic Epic stories can be used as placeholders in your backlog for far-future features When planning or working with a story ask, Is this the level of detail needed for where this story is in the backlog? As epics move up the backlog they decompose into smaller stories until they can be scheduled

Testable We need to be able to define what done means, through acceptance tests (high-level reminders, promote conversation) Focus on ways in which you need to test: Try with expired and bad credit card numbers. Common mistake teams make: Get overly detailed, Verify that... verify that... Write obvious tests like Check spelling.

Conversation & Confirmation Break-up into teams One person will play the role of the Product Owner, the rest are team members Organize your stories (consolidate and prioritize) You need to have 5-8 stories ready for the next planning meeting

Example Story Kids can contact Rosie to get a ride home from school. Are pick-ups from after-school activities okay? What about pick-ups off school grounds? est: med, 6 pts pri: high

Example Story Try various times (during & after school hrs, weekends). Try contacting by phone. Try contacting by e-mail or sms msg. Try with an emergency over-ride code. Try a pick-up off school grounds. (fail)

Are you INVESTed? As a team review your stories. Are they INVESTed? Rewrite them if necessary. Trade them to another team, and let them evaluate them.

Catalog of Story Smells Stories are Too Small Interdependent Stories Goldplating Too Many Details Including User Interface Detail Too Soon Splitting Too Many Stories Customer Has Trouble Prioritizing Customer Won t Write and Prioritize Stories Thinking Too Far Ahead

Organic Example

Web-based Tools Mingle (by Thoughtworks Studios) RallyDev (by Rally Software) VersionOne (by Version One) Scrumworks (by Danube Technologies)

Other Topics How to handle non-functional requirements? Paper or Software? User Stories and the User Interface Retaining Stories Bug Stories

Review What did you learn in the past couple of hours? Did we cover your burning question? Retrospect on the Meeting: (+/-) What can I learn as a presenter? Topics I can cover more fully? Other Agile workshops you might want?

Thank You You can find a copy of this workshop at: http://www.agileaustin.org Useful books: User Stories Applied: For Agile Software Development, by Mike Cohn URLs: http://www.scrumalliance.org