Johanna Rothman Know What “Done” Means Chapter 11

Slides:



Advertisements
Similar presentations
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
Advertisements

Alternate Software Development Methodologies
Agile Development.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
05 | Define End Value for the Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
SE 555 Software Requirements & Specification Requirements Validation.
Seven Deadly Sins of Agile Testing. About me – Brad Swanson 2.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
© 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?
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
T Iteration Demo Team WiseGUI I2 Iteration
T Project Review WellIT PP Iteration
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
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.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
SCRUM.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Embedded Systems Software Engineering
Dilbert Scott Adams.
Scrum and TargetProcess
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
Dilbert Scott Adams Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman.
Agile Scrum Management
Spring 2013 Advising Starts this week.
Integrate Agile Testing into the Process
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Product Backlog List of things that needs to be done to make the product come into existence 
Impact of Agile Methodology on Software Architecture
Pega 9/14/2018 8:48 AM Definition of Done = ready for PO acceptance
CSCE 741 Software Process Lecture 04 Availability
Software Quality Engineering
Dilbert Scott Adams.
Johanna Rothman Teams Deliver Features Chapter 6
Advantages OF BDD Testing
User Stories Applied, Mike Cohn Chapter 1: An Overview
Johanna Rothman Create Technical Excellence Chapter 9
WEBINAR: Becoming Agile In Software Testing: The Government Edition
What do you need to know about XP?
Johanna Rothman Agile Team Measurements Chapter 12
How to Successfully Implement an Agile Project
Attend|Learn|Grow Taking Your Career to the Next Level
Johanna Rothman Report Your Project State Chapter 14
Definition of Ready.
A man is flying in a hot air balloon and realizes he is lost
Chapter 11 – Project Dashboard
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software life cycle models
CSCE 741 Software Process Lecture 04 Availability
Sprint Planning April 2018.
Johanna Rothman Rank the Work Chapter 7
Software Engineering I
Coming up: What is Agile?
Appendix B Agile Methodologies
Software Development In Agile
Agree what we will finish in the sprint
Chapter 11 – Project Dashboard
Definition of Done – why it matters
Presentation transcript:

Johanna Rothman Know What “Done” Means Chapter 11 Copyright © 2017

What does “done” mean to your project? Rothman The project met its date or scope commitments… and there were not too many problems The project met its release criteria… meaning the project is done and the software is “shipped” The project team is done and others package the product and release it What tactics are used to build confidence in the release? Prescribed release criteria may be used… Whatever criteria that provides confidence in the value to be delivered

The team should know what done means at the release level for each feature set of stories! The difference levels of “done” “done”, “done-done” and “done-done-done” “done” for a story being done “done-done” for a completion iteration “done-done-done” for a release or better yet – have the product in a releasable state at any time Rothman suggests managing the “done” problem as follows: The story satisfies its acceptance criteria The story meets the team’s standard for technical excellence The Product Owner agrees the accept the story

Define Acceptance Criteria for Each Story! When the team “finishes” designing and developing the functionality for a story… … meaning the story’s acceptance criteria have been specified and met… An appropriate a scenario for each story exists… Given its context for use When and how some action is carried out With some set of observable results demonstrated

Rothman: What “done” means for a story as a working agreement All the code is checked-in There are automated unit tests There are automated system tests at the API level All the automated tests are checked-in All the tests pass The documentation for the feature is complete There has been some sort of paring or other eyes reviewing the code and automated tests to prevent shortcuts Rule of Thumb: specify what “done” means as a working agreement… so no shortcuts are taken

Without a definition of “done” for each iteration… … there is high probability of risk from an accumulation of technical debt and … as a result being overwhelmed by the possibility of an increased amount of technical debt … the “un-done” state … and the likelihood of a “death march” to actually get to “done”

Understand When Customers Can Take Your Releases Customers (or Product Owners) may only what fewer new releases once … Why? They may want to “certify” or run the new product through some quality checks before rolling it out to customers or the organization They may have “local (in house)” changes to be integrated into the new version of the product They may want to reduce any potential disruption caused by the new version

Different ways to do the release… As internal releases that are used internally in order to understand the product direction … and for demos As incrementally grown releases in order to attract new customers As “real” finished releases taken by customers Releases may be incremental… for example, once a month or once a quarter or every six months See the insert: “We Differentiate Our Releases” (page 169)

Building a Product Toward “Real” Doneness Assessing the “nonfunctional” requirements (how the software should “behave” during its use) … to ensure that the product acts in a way that will satisfy the customer … that is, without problems with its usability, reliability, security and overall performance How to move from acceptance criteria in the small to overall performance (acceptance) criteria… Build and use automated tests If a large story is of “epic” dimensions, performance acceptance criteria for that story needs to be me

Recognize “Done” Traps When teams do not realize the problems No “done” criteria have been agree upon Everything needs to be “done” before anything can be released The team requires “hardening” iterations or effort The consequence being that teams do not release anything in a “timely” manner

1. No “done” criteria have been agree upon To deliver value.. teams need to know what “done” means at various levels… for the story for the iteration for releasing for the project The team needs working agreements or criteria to know what “done” means!

2. Everything needs to be “done” before anything can be released Causes Teams cannot get feedback until they actually release something The can’t release something until everything is “done” … why, the deliverables are large and can’t be completed in a single iteration The obvious solution should have been to create small stories… … and also experiment, as needed by “building” a Minimum Viable Product (MVP) or a Minimum Viable Experiment (MVE) to get unstuck from large stories

3. The team requires “hardening” iterations or effort Why? … because of the lack of acceptance criteria needed to assess implementation of one or more stories … and or the team is unable to finish the work scheduled for an iteration The consequence being the inability of the team to finish work with result of adding work to subsequent iterations

Teams should fix problems as soon as they are discovered! This is technical debt that might be categorized as done What to do…options: Use a retrospective to understand what happened and what needs to be done Pay attention to estimations and effort… for example, are shortcuts made in order to “squeeze” more into and iteration Assess the “done” criteria… the goal needs to work towards achieving quality/technical excellence in all the work that is done. Rule of Thumb: Teams failing to satisfy its done criteria need to reduce the work… the size of stories added to the Sprint Backlog The goal is to incrementally truly finish the work in each iteration… and not to increase Technical Debt and/or reduce the quality of the work

Scrum Inc. Definition of Done For software “Done means coded to standards, reviewed, implemented with unit Test-Driven Development (TDD), tested with 100 percent test automation, integrated and documented.” In a services context, it might look something like: "Done means every task associate with a User Story has been completed and allows the Product Owner to review and make sure it meets his or her expectations." At Scrum Inc., a business services organization, this can include word documents, excels sheets, presentation decks, e-mails or any number of other work produced. In order for the Product Owner to accept the story these elements need to be attached to the User Story for it to be called done. The Definition of Done ensures everyone on the Team knows exactly what is expected of everything the Team delivers. This ensures transparency and quality that fits the purpose of the product and organization.

https://www.scruminc.com/definition-of-done/