User Stories in Agile Development A Different Sort of Requirements Artifact!

Similar documents
SCRUM Product Ownership From the Inside Out

Testing in the Enterprise using SCRUM Stretching Scrum to Accommodate Legacy & Large- Scale Testing Activity

D25-2. Agile and Scrum Introduction

Introduction to Agile and Scrum

A Glossary of Scrum / Agile Terms

Agile with XP and Scrum

Mastering the Iteration: An Agile White Paper

AGILE - QUICK GUIDE AGILE - PRIMER

Getting Agile with Scrum

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Roles: Scrum Master & Project Manager

Using Use Cases on Agile Projects

Scrum. SE Presentation. Anurag Dodeja Spring 2010

As the use of agile approaches

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

LEAN AGILE POCKET GUIDE

Issues in Internet Design and Development

Managing Agile Projects in TestTrack GUIDE

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

Course Title: Planning and Managing Agile Projects

Capstone Agile Model (CAM)

Scrum: A disciplined approach to product quality and project success.

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Agile project portfolio manageme nt

Introduction to Agile Scrum

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

Agile Scrum Workshop

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Plan-Driven Methodologies

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

CSSE 372 Software Project Management: More Agile Project Management

How Silk Central brings flexibility to agile development

Laboratório de Desenvolvimento de Software

Course Title: Managing the Agile Product Development Life Cycle

"Bezpieczny Projekt"

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

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

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

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

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

When is Agile the Best Project Management Method? Lana Tylka

Agile and Secure: Can We Be Both?

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

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

Agile Software Engineering Practice to Improve Project Success

Tips for Good Agile Requirements

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Scrum Guide. By Ken Schwaber, May, 2009

in O&M/Sustainment: What s Different? Paul E. McMahon Principal, PEM Systems

Applying Agile Methods in Rapidly Changing Environments

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS.

Establishing your Automation Development Lifecycle

The Agile Manifesto is based on 12 principles:

Bridging the Gap Between Acceptance Criteria and Definition of Done

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Practical Agile Requirements Engineering

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

CSPO Learning Objectives Preamble. Scrum Basics

Agile Software Development

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

Agile Project Management: Adapting project behaviors to the software development environment

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

Agile Software Development

Successfully Doing TOGAF in a Scrum Project

Building a Better Backlog

An Example Checklist for ScrumMasters

Business Analysis Essentials

Chapter 6. Iteration 0: Preparing for the First Iteration

Keeping a Healthy Product Backlog

Mike Cohn - background

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Enterprise Content Management (ECM)

Atomate Development Process. Quick Guide

Request for Proposals for Software Development Services. Questions and Answers

An Introduction to Agile Performance Management

Agile Development Overview

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

SCRUM 1. Upon what type of process control is Scrum based? a. Empirical b. Hybrid c. Defined d. Complex

February Scrum: Developed and sustained by Ken Schwaber and Jeff Sutherland

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

7/24/2015. Blackstone Drupal Team

Zarządzanie projektem agile The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 1 (30) Effective IT?

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

AGILE & SCRUM. Revised 9/29/2015

Software Development Life Cycle (SDLC)

EXIN Agile Scrum Foundation

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

Agile Software Development and Service Science

#POvsPM. John Milburn, Pragmatic Marketing David West, CEO Scrum.org

Certified ScrumMaster Workshop

Agile Development in Today s Industry. Duke CS408 Session 2014

Blending Traditional and Agile Project Documentation

Agile Methods for Analysis

User Stories Applied

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Software Life Cycles and Configuration Management

Project Lifecycle Management (PLM)

Transcription:

User Stories in Agile Development A Different Sort of Requirements Artifact! Bob Galen President & Principal Consultant, RGCG, LLC Leading you down the path of agility www.rgalen.com bob@rgalen.com

Thank you to our sponsors Copyright 2009 2

Introduction Bob Galen Somewhere north of 20 years experience Various lifecycles Waterfall variants, RUP, Agile, Chaos, etc. Various domains SaaS, Medical, Financial, Computer Systems, and Telecommunications Developer first, then Project Management / Leadership, then Testing Pieces of Scrum in late 90 s; before Agile was Agile Agility @ Lucent in 2000 2001 using Extreme Programming Formally using Scrum since 2000 Most recently at ChannelAdvisor as Dir. Product Development and Agile Architect/Coach (2007-2008) Connect w/ me via LinkedIn if you wish Bias Disclaimer: Agile is THE BEST Methodology for Software Development However, NOT a Silver Bullet! Copyright 2009 3

Outline Introduction 1. User Stories 2. User Roles 3. Misc. (Challenges, Role of BA) 4. Workshop Close Copyright 2009 4

Scrum We ll be using Scrum as the Agile reference framework for the class Agile Project Management Framework Roles: Scrum Master, Product Owner & Team Sprint iteration (15 30 days) Product Backlog a prioritized list of: requirements, work to do, user stories Sprint Planning mapping PB to tasks Daily stand-up (15 minutes, Pigs & Chickens) Sprint Review (demo) & Retrospective Copyright 2009 5

Agility Example Scrum Source: Adapted from Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. Daily Scrum Meeting 24 hours Sprint Backlog Backlog tasks expanded by team 30 days Product Backlog As prioritized by Product Owner Potentially Shippable Product Increment Copyright 2009 6

Basic User Stories Copyright 2009 7

Traditional Waterfall Requirements Upfront definition Established in the beginning often in great detail Signed off with business stakeholder and/or customer Contractual in nature Change is considered bad Usually change control mechanisms are instituted Scope confirmed at the end Requirement issues are often listed in the Top 3 failure factors within software projects And typical statistics reflect between a 50 65% failure rate amongst cost, requirement and delivery time targets Copyright 2009 8

Agile Requirements High level requirements (Backlog) established early Established in the beginning often ambiguous Ongoing collaboration with business the stakeholder and/or customer Effectively a partnership arrangement Focus on prioritization seeks to minimize gold-plating While making cost / value and progress / capacity visible Change is embraced With the cost of change being clearly visible throughout Scope confirmed & accepted iteratively Copyright 2009 9

Traditional vs. Agile Roles Traditional roles Agile roles Customers are interviewed Architects and BA s write requirements Collaborative review & change Sign-off Team conducts story workshop to define the backlog Product Owner + Team prioritizes (orders) and clarifies Look ahead only a few sprints Continuous exposure & adjustment with discovery Key drivers: Team leads, BA s, Architects Key drivers: Testers and PO s drive the requirements within each sprint Copyright 2009 10

User Stories Notion of Stories derived from Extreme Programming XP Stories are requirements / features / units of work They are similar to use cases (as good a comparison as any) Written on a 3x5 card or Post-it note Capture a succinct item of work Are collaboratively defined by customer w/the team Are prioritized by and delivered to the customer Copyright 2009 11

User Story Construct As a <role> I want <system behavior> So that I realize <some business value> Copyright 2009 12

User Story Construct As a <role> I want <system behavior> So that I realize <some business value> **And can see that it does <example> Copyright 2009 13

User Story Examples As a dog owner, I want to sign-up for a kennel reservation over Christmas so that I get a confirmed spot As a dog owner, I want to check on the status of my dog (meals, walks, medication) so that I don t worry As a dog owner, I want to pay for my dogs kennel visit before or after they enter the kennel Copyright 2009 14

User Stories Parts of Front of card describes the Story characteristics flexible format 1-2 sentences; short and succinct I ve seen limits of 5 words per Story Back of card describes User/Customer Acceptance Tests Mini contract to determine done or completeness Combination of the two, effectively describes the story functionality Intentionally incomplete! Copyright 2009 15

User Story Examples As a dog owner, I want to sign-up for a kennel reservation over Christmas so that I get a confirmed spot Verify individual as a registered pet owner Verify that preferred members get 15% discount on basic service Verify that preferred members get 25% discount on extended services and reservation priority over other members Verify that past Christmas customers get reservation priority Verify that declines get email with discount coupon for future services Copyright 2009 16

User Stories Parts of Third, most important part of the story is a promise to have a conversation Right before & during implementation Amongst the team members implementing the Story / Feature Developer, Product Owner, Tester, Architect, etc. Will drive (just in time, just enough) requirement artifacts I need a wireframe to help with design & layout Let s develop a Use Case to elaborate additional functional details We need more Acceptance Test coverage to drive clear business logic Let s put this on the wiki for traceability Copyright 2009 17

Ron Jeffries 3 C s CARD Use a 3x5 card or other low fidelity means to capture requirements CONVERSATION Certainly don t try and capture all detail on the card. Instead, sit down as a small implementation team (developer, tester, customer) and discuss the implementation from each perspective. Write a little code, run it, test it, and discuss it then do it again! CONFIRMATION Working with the customer, define a set of acceptance tests for each story Copyright 2009 18

Ron Jeffries 3 C s What s the most important C? I d opt for the ongoing collaborative conversations What do you think is next in importance? I d opt for the confirmation tests. They help illustrate design decisions in the code and promote sustained quality Copyright 2009 19

Story Attributes: INVEST Independent Negotiable Valuable Estimatable Small Testable as much as possible stories need to stand alone, with few dependencies to other stories they are not fixed contracts prioritized so that the value to the customer is clear (relative to other stories) clear enough, with knowledge surrounding domain & technical points fit easily within an iteration, requiring 1 to a few resources to implement usually expressed with acceptance criteria and/or automated tests Copyright 2009 20

User Stories Other Types A Spike is a story focused toward technical (or other feasibility) investigation Result is information or knowledge; not production code Typically leads to other development focused story(s) and improves the estimate(s) Sub-stories At time we defined stories with too fine a level of granularity. This dilutes value delivery. They should be aggregated into a larger Story for implementation & delivery Copyright 2009 21

Product Backlog User Story Granularity Theme a collection of related stories Epic - or large story Copyright 2009 22

Splitting Stories Along operational or data boundaries As a dog owner I can manage my pets reservations As a dog owner, I can reserve a kennel for vacation or holiday travel As a dog owner, I can cancel a reservation As a dog owner, I can reserve a kennel for my sick pet and order As a resident, I can reserve time to pick-up my pet As a dog owner, I can create my owner profile As a dog owner, I can update my owner profile As a vet, I can check on my pets medical conditions and update their Copyright 2009 23

Product Backlog to Task Workflow Story Artifact Repository Story Cards Use cases, requirements, FitNesse test cases, wireframes, etc. Product Backlog PBI s Task Cards Copyright 2009 24

User Story Another Sample Format Sample XP Story Note Format Story # Iteration # Story Title: As a (role) I want (system behavior) So that (achieve business goal) Team Member Sign-up Story Points Copyright 2009 25

User Story Another Sample Format Sample XP Story Note Format Story # Iteration # Compute and track social security tax As a Payroll Administrator I want the system to compute and track social security tax deductions So that we can reduce the paperwork and tracking and avoid accidentally deducting too much tax Team Member Sign-up Story Points Copyright 2009 26

User Story Another Sample Format Sample XP Story Note Format Compute and track social security tax Acceptance Tests I do this -Pay at or above $1,000 This happens - Previous total at limit Deduct $0 Deduct 1.3% for social security - Near annual limit Deduct 1.3% minus limit Copyright 2009 27

User Roles Copyright 2009 28

Identifying the User Often we overload many different types of users as a single The user in our requirement definition Assume that all users have the same goals Write too many of the stories from the same generic user perspective Copyright 2009 29

User Roles Broaden our view to the needs / goals for the software Users How they will use the software What they will use it for The perspective or background for each user Qualify what s important for each user Identify their level of competency or familiarity with the software Based somewhat in Usage-Centered Design from Constantine & Lockwood Copyright 2009 30

Role Examples The Kennel Owner who wants to monitor animal reports showing capacity and revenue on a daily basis The New Pet Owner who is using the kennel for the first time and is looking for assurance on overall quality The National Kennel Evaluation Service who is going to list the kennel and specific size and quality attributes in a national register The Frequent Customer looking for special treatment for their pet over the holidays Copyright 2009 31

User Role Brainstorming Steps 1. Engage a group for a brainstorming meeting with cards 2. Attendees should include team members, customers, stakeholder, potential users 3. Write individual roles on cards 4. Can yell out the role as you place the card on the table 1. Or a facilitator can do that as part of organizations This is a quick exercise, so 10-15 minutes for data initial role collection Copyright 2009 32

User Role Brainstorming Types When brainstorming, consider true roles: Power users Simple users Important or valuable users Malicious users Test users Also consider roles that are not people Interfaces or other systems Organizations or companies Regulatory agencies Copyright 2009 33

User Role Brainstorming Consolidation As you develop a rich set of roles, start to think about organizing & consolidating them For example, Kennel Customer might include: First-time customer Repeat Customer Priority Customer Returning Customer Or Administrative User might include: The Owner, Vet, General Manager, Team Leaders, Employees Copyright 2009 34

User Roles Advantages Start incorporating your roles into your Stories Helps with developing a broader set of Stories Users become much more tangible We can step into their role and better envision their needs Avoid the tendency to have a generic User and then overload their role Speaking in terms of The Repeat Customer or The Owner when crafting Stories Accommodates and clarifies technical and system roles Copyright 2009 35

User Roles Special Roles Systems, Services, API s As our Payroll Provider, I need to access 401K information for end of year processing Specialized team members As a Customer Account Manager, I need to reset these system when the queue processing is stuck Security risks/hackers and other abusers of the system Define Stories that would prevent these potential attacks Copyright 2009 36

User Roles Special Roles Personas Are further elaborated roles usually formally documented Perhaps contain Name Picture Education background Level of experience Motivation or goals Job or position activities Help to further envision and place a face on the user and add depth to our envisioning Copyright 2009 37

Misc. Topics Copyright 2009 38

User Story Ordering Prioritization From a Product Backlog perspective, User Stories need to be ordered by priority Instead of working with individual Stories, try to organize related Stories into Themes. This is primarily the domain of the Product Owner Organize needs into Themes, Pack Stories into Themes, and Prioritize Themes Usually Themes can be driven out of the Story writing workshop When organizing and grouping your stories Copyright 2009 39

Themes Typical Workflow Early Themes: Environment Setup, Project Feasibility, Architectural Models, Team Formation Middle Themes: Feature Acceleration, Product Maturation Architecture Stabilization Later Themes: Integration & Ility Testing, Customer Readiness Deployment, Next Release Copyright 2009 40

Typical Challenges for User Story Adoption Creating the initial Story / Backlog Just do it; only need the tip well defined Rarely do you get to everything Granularity too large vs. too small Changes as Stories move closer to execution Getting the team to participate in refining estimates Getting stuck on developing perfect Stories Team naturally get better at defining them over time; Each teams view is somewhat unique Making the Backlog Transparent Placed on a wiki; generally widely available for view Encourage changes; additions, reordering! Copyright 2009 41

Typical Challenges for User Story Adoption Team members contributing Everyone can contribute (write) a User Story and add it to the Backlog Operations, Technical Writing, Testing, Non-functional Requirements Contributing - Acceptance Tests They re not just tests! And not just for Testers to write. Help refine the design; help define Done ; help focus prioritized, functional testing Viewing Stories as static Stories on Product Backlogs need to be Organic Forgetting to TALK Trying to have them replace conversation OR trying to capture all discussion ON the Stories Copyright 2009 42

Business Analyst Role in Agile Development You are a Team Member! All work is performed within the context of your Scrum Team Your efforts are tasked as part of Sprint Planning (task cards), achieve Done-Ness, and demonstrated in the Sprint Review Partner with the Product Owner / Customer Rarely should the BA Be the Product Owner; think customer facing, Product Management Partner with Testing Developing & refining Acceptance Tests Automating them as part of Sprint activity; for example in FitNesse Support the notion of Executable Requirements Copyright 2009 43

Business Analyst Role in Agile Development User Story focused; Less Product Backlog focused Scribing / writing them Helping with Acceptance Tests Grouping, constructing themes Facilitate Story Writing Workshops Continuously refine / Groom the Backlog with the team Product Owner leads this effort workflow, milestones, and goal setting Estimates belong to the team Work ahead anticipate needs Architecture, usability, interface design, etc. Perhaps skewed work within Sprints Copyright 2009 44

Workshop Exercise Copyright 2009 45

Simulation Background, Charter, Goals We re going to build an addition off of your house as an exercise It will be a 20 x30 extension It will not have a basement, but a simple foundation Ceilings will be vaulted slanting from 10 20 ft. The wall facing your garden will be all windows You re adding a ½ bath to the corner of the extension And there is a side section that will serve as a sitting / sun room There are several ceiling fans and skylights You are the General Contractor and need to plan Copyright 2009 46

Simulation Step #1 Story Creation Let s brainstorm some User Story cards for building and decorating the room Concentrate on High Level requirements, needs, tasks, work, milestones, steps, etc. Simply get ideas on the cards Copyright 2009 47

Simulation Step #2 Adding Roles Roles help to remind of us work to do beyond simply the User For example: As a rough Carpenter; as a finish Carpenter As a Plumber, Dry waller, Painter As a General Contractor As a Home Owner Example: As a Home Owner we need to pick out paint colors so that we effectively coordinate the new room. Copyright 2009 48

Thank You! Questions? Copyright 2009 49

Thank you to our sponsors Copyright 2009 50

Contact Info Bob Galen RGalen Consulting Group, L.L.C. Agile focused training, coaching & consulting Scrum Product Ownership Balancing Value From the Inside Out published by RGCG in 2009. Software Endgames: Eliminating Defects, Controlling Change, and the Countdown to On- Time Delivery published by Dorset House in 2005. Go to www.rgalen.com for purchasing / for order info, misc. related presentations, and papers. PO Box 865, Cary, NC 27512 919-272-0719 www.rgalen.com bob@rgalen.com Copyright 2009 51