Story Writing.

Slides:



Advertisements
Similar presentations
Introducing User Stories
Advertisements

Acceptance Testing.
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
TDT 4242 Inah Omoronyia and Tor Stålhane Agile requirements through user stories and scenarios TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
May 4, 2015 Writing Stories 7 September, 2006 Kane Mar.
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
An Agile View of Process
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
R ELEASE P LANNING. H ELPFUL R ESOURCES Planning Extreme Programming, Kent Beck and Martin Fowler Extreme Programming Installed, Ron Jeffries, Ann Anderson.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Technology for a better society TDT4140 Software Engineering : 1 Experiences from Requirements Engineering: Coping with requirements in large,
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
CS3100 Software Project Management Agile Approaches.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Extreme Programming Based on and
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Cultivating Agile Requirements
Jim Remsik Agile Story Carding prepared
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Interactions. The prey, the pack, and the hunt Your goal is to meet your customer’s needs That goal, and nothing else, is the prey Not throwaway prototypes.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
 System Requirement Specification and System Planning.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Etreme rogramming (XP) eXtreme Programming (XP). 2 A Typical XP Project All programmers in a room together Work in a series of fixed iteration cycles.
Embedded Systems Software Engineering
Agile Project Management and the yin & yang of
Software Development.
User Stories > Big and Small
Software Testing.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Integrate Agile Testing into the Process
Dr. Rob Hasker SE 3800 Note 3 Ch. 4, 5.
Extreme Programming.
Requirements and User Stories
12 Steps to Useful Software Metrics
Introduction to Software Engineering
Informatics 121 Software Design I
Scrum MODULE 3 – Part 3.
WEBINAR: Becoming Agile In Software Testing: The Government Edition
What do you need to know about XP?
Johanna Rothman Agile Team Measurements Chapter 12
Johanna Rothman Report Your Project State Chapter 14
Johanna Rothman Know What “Done” Means Chapter 11
Definition of Ready.
User Stories Applied, Mike Cohn Chapter 2: Writing Stories
Agile and XP Development
Making small stories.
Test Driven Lasse Koskela Chapter 9: Acceptance TDD Explained
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
CSCE 741 Software Process Lecture 04 Availability
Agile and XP Development
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Real World Scrum with TFS & VSTS / Azure DevOps
Agile testing for web API with Postman
Coming up: What is Agile?
Refactoring.
User Stories Applied, Mike Cohn Chapter 2: Writing Stories
Test Driven Lasse Koskela Chapter 9: Acceptance TDD Explained
Agile Development – a new way of software development?
Agree what we will finish in the sprint
Agile Development.
Presentation transcript:

Story Writing

What is a Good User Story? Absence of a well defined backlog is the #1 reason agile teams struggle

User Stories – It starts with a “Story” “There’s a compelling nature about talking.” “…to bring out the story-telling nature in all of us.” Kent Beck coined the term user story in Extreme Programming Explained 1st Edition (1999) Inspired by Ward Cunningham http://amzn.to/1My5I1M https://en.wikiquote.org/wiki/Ward_Cunningham

User Stories Format As a <type of user> I want <some goal> What is the problem we are trying to solve? What is the need that must be met? What value does it hold? As a <type of user> I want <some goal> So I can <derive some value>

User Stories – 3 C’s of a User Story Written on note cards Can be annotated with estimates, value, notes, etc. Card Details of the story come out through conversations Conversation Acceptance tests are defined to confirm the story is complete Confirmation

Example Drive between the lines As a auto driver, I want to stay between the lines, so that I don’t cause an accident or incite unfriendly responses. Drive between the lines Acceptance Criteria Car remains between the lane lines Only receive friendly hand gestures from other drivers

What if the “Story” is distant from real Users or really big? Feature-Driven Development (FDD) Syntax <action> (the) <result> <by|for|of|to> <object> Good fit for: Creating APIs Development back-end functionality Tool enablement for future business value Example format: Estimate the closing price of stock Generate a unique identifier for a Transaction Enable workflow for a submitted Claim Merge the data for duplicate Transactions https://www.linkedin.com/pulse/everything-needs-user-story-using-fdd-features-mike-cohn

User Stories – INVEST Criteria There should be no dependencies between stories Independent Describes functionality to be negotiated between the customer and development Negotiable Valuable to the user or purchaser Valuable Have enough detail to estimate without being too detailed Estimable A good story should meet the invest criteria Independent – I should be able to build one without the other. Is should be able to change the order. We need to untangle the requirements. If we start with this criteria we see that we can get to the end of the sprint and be done. We might not be ready to give it to the customer. For example – login Happy path Lock out Reset Security question Etc. We might say we have one way to log in, correct id and password. We don’t worry about password requirements or resets. We might then add 3 strikes Now we add email reset Now add security question Now we add password strength We might focus on the first two items for the first release, go work on other valuable stuff, and then add the other items at a future point. Sometimes we might have some sequencing items for example, we have to have the correct id/pw capability first. All of the other items can be added independently. This gives us some options. Buys us the ability to make tradeoffs. Negotiable – a statement of the fact about the way we write user stories. What is the most valuable thing to do, the architecture that is the most simple. We’re thinking about collaboration. Valuable – Express requirements in the language of the business. Never want to use activity to measure progress. Tasks are driving what we do but no indicator of progress. If we stop today where would the product be and how close are we to shipping. Estimatable – Something that is brought into a sprint has to be estimatable. You must know what is needed from the business and we have to know how we’re going to build it. One of the failure points is to just barely understand the story and just deciding to work on it. Concept of spike, a proof of concept to help gain an understanding of the need and how. Sized appropriately Testable – It has to be testable for the “confirmation” to take place. If we can’t test it then how can we know we are done? Be able to do a few stories in an iteration Sized appropriately Worded in a way that they can be tested Testable

Enabler Stories build the groundwork for future User Stories. There are generally four types of Enabler Stories: Infrastructure – Build development and testing frameworks that enable a faster and more efficient development process Architecture – Build the Architectural Runway, which enables smoother and faster development Exploration – Build understanding of what the customer needs to understand prospective Solutions and evaluate alternatives Compliance - Compliance enablers are used to schedule and manage specific compliance activities, including Verification and Validation (V&V), documentation and signoffs, and regulatory submissions and approvals. Explain how Enabler Story differ from User Stories, and why Enabler Stories build groundwork for future User Stories: Infrastructure Architecture Exploration Compliance © Scaled Agile, Inc.

10 patterns for breaking Features into Stories Work flow steps Business rule variations Major effort Simple/complex Variations in data 6 Data methods Defer system qualities Operations Use case scenarios Break out a spike 2 7 3 8 4 9 5 10 © Scaled Agile, Inc.

Each Team needs a Clear Definition of “Done” for Stories Tested: Are all unit, integration, and customer tests finished? Coded: Has all code been written? Designed: Has the code been refactored to the team’s satisfaction? Integrated: Does the story work from end to end (typically user interface to database) and fit into the rest of the software? Builds: Does the build script include any new modules? Installs: Does the build script include the story in the automated installer? Migrates: Does the build script update the database schema if necessary? Does the installer migrate data when appropriate? Reviewed: Have customers reviewed the story and confirmed that it meets their expectations? Fixed: Have all known bugs been fixed or scheduled as their own stories? Accepted: Do customers agree that the story is finished? For software projects, James Shore provides the following list of elements to discuss and check before declaring anything done and production ready   Tested: Are all unit, integration, and customer tests finished? Coded: Has all code been written? Designed: Has the code been refactored to the team’s satisfaction? Integrated: Does the story work from end to end (typically user interface to database) and fit into the rest of the software? Builds: Does the build script include any new modules? Installs: Does the build script include the story in the automated installer? Migrates: Does the build script update the database schema if necessary? Does the installer migrate data when appropriate? Reviewed: Have customers reviewed the story and confirmed that it meets their expectations? Fixed: Have all known bugs been fixed or scheduled as their own stories? Accepted: Do customers agree that the story is finished? Thank you James Shore Copyright (c) 2011 Sally Elatta. Do not distribute or copy without authorization.

Exercise – User Stories Definition of Ready? Definition of Done?