User Stories 1-3 sentences in everyday language “Connextra” format:

Slides:



Advertisements
Similar presentations
Applying evo to a project An Agile and EVO Workshop Based on the article Measuring Agile Value in Overload 89, by Ryan Shriver, and used with his permission.
Advertisements

Iteration Planning.
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
User Stories Testing 2, October 21.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Software Engineering 1. Software development – the grand view 2. Requirements engineering.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
Agile Project Management with Scrum
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
NAUG NAUG Knowledge Evening – th February 2007.
Project Management with TFS 1. What TFS offers for Project Management? Work Item tracking 2 Portfolio backlog Backlog Issue tracking Feature Product Backlog.
The Business Analyst Role in Agile Projects
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
SOFA BDD 1 © 2013 Armando Fox & David Patterson, all rights reserved.
Customer Collaboration. Central Principles The customer is part of the team The customer plays key role in directing the team 1.
8 September Announcements  GIT Class: Friday 3-5 SN 115 (Peter Parente)  Information for Project Links PageProject Links Page  Hot Topics Teams.
SE 555 Software Requirements & Specification Requirements Validation.
Extreme Programming--a “New” Process Model Extreme Programming-- a “New” Process Model.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
This work is licensed under a Creative Commons Attribution 3.0 Unported LicenseCreative Commons Attribution 3.0 Unported License (CC-BY). Project Management.
12 Steps to Useful Software Metrics
© 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.
Software Development Landscape
Scrum’s Product Owner Role Jeff Patton Agile Product Design
Computing Revision Notes. Index Software System Software Internet.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
R ELEASE P LANNING. H ELPFUL R ESOURCES Planning Extreme Programming, Kent Beck and Martin Fowler Extreme Programming Installed, Ron Jeffries, Ann Anderson.
Frameworks in project management
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
2/21/06 Page 1Loui Some Notes from Berkun Art of Project Management CS436 (material for quiz)
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
With a hint of HP Quality Center Agile development and functional testing: friend or foe? Tom Vercauteren, June 26th, 2009.
Het einde van het beroep van tester - Wat Agile, DevOps en Scrum betekenen voor het testvak -
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Extreme Programming Based on and
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Advanced S/w Eng - s/w productivity issues 1 Software Productivity Issues Why do software projects fail? Advanced Software Engineering COM360 University.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Evaluating Requirements
Now what? 1.  I have short-listed projects I am interested in  I know the types of projects I would like to pursue  I have an idea of the resources.
Jim Remsik Agile Story Carding prepared
Requirements Gathering
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
User Stories- 2 Advanced Software Engineering Dr Nuha El-Khalili.
Introduction to Agile. Introduction Who is this guy?
Chapter 5 Agile Development Moonzoo Kim KAIST
© 2013 Armando Fox & David Patterson, all rights reserved
User Stories > Big and Small
Project Management with VSTS
Tracking and Squashing Bugs
Agile Scrum Management
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Taking an Iteration Down to Code
User Stories Applied, Mike Cohn Chapter 1: An Overview
What do you need to know about XP?
Teaching slides Chapter 1.
User Stories Applied, Mike Cohn Chapter 2: Writing Stories
Sprint Planning April 2018.
Introduction to Agile Blue Ocean Workshops.
Software Requirements
User Stories Applied, Mike Cohn Chapter 2: Writing Stories
Behavioral Driven Development (BDD) (Engineering Software as a Service §7) Philip Ritchey slides generously gifted by Jeff Huang.
Agile Development – a new way of software development?
Agile Development.
Presentation transcript:

User Stories 1-3 sentences in everyday language “Connextra” format: Fits on 3” x 5” index card Written by/with customer “Connextra” format: Feature name As a [kind of stakeholder], So that [I can achieve some goal], I want to [do some task] 3 phrases must be there, can be in any order Idea: user story can be formulated as acceptance test before code is written Dave Patterson created this image From HCI community

Why 3x5 Cards? (from User Interface community) Nonthreatening => all stakeholders participate in brainstorming Easy to rearrange => all stakeholders participate in prioritization Since stories must be short, easy to change during development As often get new insights during development

Different stakeholders may describe behavior differently See which of my friends are going to a show As a theatergoer So that I can enjoy the show with my friends I want to see which of my Facebook friends are attending a given show Show patron’s Facebook friends As a box office manager So that I can induce a patron to buy a ticket I want to show her which of her Facebook friends are going to a given show

Product Backlog Real systems have 100s of user stories Backlog: User Stories not yet completed (We’ll see Backlog again with Pivotal Tracker) Prioritize so most valuable items highest Organize so they match SW releases over time

Related: Spike Short investigation into technique or problem E.g. spike on recommendation algorithms Experiment, hack, do whatever works Bound the time allotted When done, throw code away Now that know approach you want, write it right!

SMART User Stories (Engineering Software as a Service §7.3) David Patterson © 2013 David Patterson & David Patterson Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License

Creating User Stories How do you know if you have a good user story vs. bad user story? Right size? Not too hard? Is worthwhile?

SMART stories Specific Measurable Achievable (ideally, implement in 1 iteration) Relevant (“the 5 why’s”) Timeboxed (know when to give up)

Specific & Measurable Each scenario testable Implies known good input and expected results exist Anti-example: “UI should be user-friendly” Example: Given/When/Then. Given some specific starting condition(s), When I take specific action X, Then one or more specific thing(s) should happen

Achievable Complete in 1 iteration If can’t deliver feature in 1 iteration, deliver subset of stories Always aim for working code @ end of iteration If <1 story per iteration, need to improve point estimation per story

Relevant: “business value” Discover business value, or kill the story: Protect revenue Increase revenue Manage cost Increase brand value Making the product remarkable Can you include stories that don’t have obvious business value? Yes, but be honest about it. Eg, refactoing, code cleanup, optimizing so you need fewer servers...

5 Whys to Find Relevance Show patron’s Facebook friends As a box office manager So that I can induce a patron to buy a ticket I want to show her which Facebook friends are going to a given show Why? Why add the Facebook feature? As box office manager, I think more people will go with friends and enjoy the show more. Why does it matter if they enjoy the show more? I think we will sell more tickets. Why do you want to sell more tickets? Because then the theater makes more money. Why does theater want to make more money? We want to make more money so that we don’t go out of business. Why does it matter that theater is in business next year? If not, I have no job.

Timeboxed Stop story when exceed time budget Give up or divide into smaller stories or reschedule what is left undone To avoid underestimating length of project Pivotal Tracker tracks velocity, which helps avoid underestimate