Mike Cohn - Agile Estimating and Planning

Slides:



Advertisements
Similar presentations
Copyright © , Armstrong Process Group, Inc., and others All rights reserved Made available under EPL v1.01 Project Management Review Eclipse Process.
Advertisements

Copyright © , Armstrong Process Group, Inc., and others All rights reserved Made available under EPL v1.01 Project Management Review Eclipse Process.
Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
6-1 Goldratt’s Critical Chain  In 1997, Goldratt introduced the Critical Chain Project Management (CCPM) methodology to apply the theory of constraints.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Systems Analysis and Design 8 th Edition Chapter 3 Managing Systems Projects.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
IAgile – iNetFrame’s framework for agile development Features Get to see a working product early Development shadows evolving requirements Pair programming.
ECE44x SCRUM Overview slides adapted from Marty Stepp
Systems Analysis and Design 8th Edition
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
CSE Senior Design II Staged Delivery Instructor: Mike O’Dell.
1 Agile Estimating and Planning October, 2013 Technion, Israel Prof. Fabio Kon University of Sao Paulo, Brazil
Trusted IT Group. The challenge: 40 active, concurrent IT projects  Unsatisfactory Project Delivery.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
© 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.
Copyright David Churchville - XP and Agile Planning David Churchville ExtremePlanner Software XP Fishbowl.
SCRUM introduction 6 April Scrum Team are known as pigs because they’re committed to delivering Sprint Goal People who are involved but not dedicated.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Project management Topic 7 Controls. What is a control? Decision making activities – Planning – Monitor progress – Compare achievement with plan – Detect.
Agile Metrics It’s Not All That Complicated. © 2011 VersionOne 2 Welcome – About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
SCRUM.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
CSE Senior Design II Staged Delivery Instructor: Manfred Huber Partially adapted from Mike O’Dell.
Planning Extreme programming
Text Firefox Metro Project Production Pipeline. Text Our Approach.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Agile Estimating and Planning Nora Liesenfeld. Nora Liesenfeld TU München Agile Estimating and Planning Author: Mike Cohn Title: Agile Estimating.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Agile Project Management and the yin & yang of
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Project Management
Scrum.
Scrum and TargetProcess
Agile Training – Agile Overview
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Activity Planning.
Taking an Iteration Down to Code
Chapter 3: The Project Management Process Groups: A Case Study
Burn Down charts for Project Management
User Stories Applied, Mike Cohn Chapter 1: An Overview
Scrum MODULE 3 – Part 3.
Burn Down charts for Project Management
Johanna Rothman Agile Team Measurements Chapter 12
Summarizing Our Models to Date
Methodologies For Systems Analysis.
Johanna Rothman Report Your Project State Chapter 14
© University of Liverpool
Chapter 2 – Software Processes
Project management Lecture 9
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Chapter 3 – Agile Software Development
Johanna Rothman Rank the Work Chapter 7
Chapter 6 Activity Planning.
Teaching slides Chapter 13
Reducing Project Duration
SNS College of Engineering Coimbatore
Setting up a project file
Extreme Programming.
CAD DESK PRIMAVERA PRESENTATION.
Scrum in Action.
Presentation transcript:

Mike Cohn - Agile Estimating and Planning

Why Planning fails Planning Is By Activity Rather Than Feature Activities Don’t Finish Early Lateness Is Passed Down the Schedule Activities Are Not Independent Multitasking Causes Further Delays Features Are Not Developed By Priority We Ignore Uncertainty Estimates Become Commitments

Agile Planning Is focused more on the planning than the plan Encourages change Results in plans that are easily changed Is spread throughout the project

Agile Approach Work as one team Work in short iterations Deliver something each iteration Focus on business priorities Inspect and adapt

The planning onion

Known Stuff Chapter 4: Estimating Size with Story Points Chapter 5: Estimating In Ideal Days Chapter 6: Techniques for Estimating Chapter 7: Re-Estimating Chapter 8: Choosing Between Story Points and Ideal Days

Prioritizing Themes Factors In Prioritization: The financial value of having the features The cost of developing (and perhaps supporting) the new features The amount and significance of learning and new knowledge created by developing the features Knowledge about the product Knowledge about the project The amount of risk removed by developing the features

Reducing uncertainty

Combining risk and value

Financial Prioritization Net Present Value Internal Rate of Return Payback period Discounted payback period

Prioritizing Desirability Kano Model of Customer Satisfaction: Threshold, or must-have, features Linear features Exciters and delighters

Kano Model

Assessing Themes On The Kano Model

Categorizing a Feature

Splitting User Stories Split large stories along the boundaries of the data supported by the story. Split large stories based on the operations that are performed within the story. Split large stories into separate CRUD operations. Consider removing cross-cutting concerns (such as security, logging, error handling, and so on) and creating two versions of the story: one with and one without support for the cross-cutting concern. Considering splitting a large story by separating the functional and nonfunctional aspects into separate stories (* Performance constraints) Separate a large story into smaller stories if the priorities of the smaller stories are different. Don’t split a large story into tasks. Instead, try to find a way to fire a tracer bullet through the story. Avoid making things worse by adding related changes to an appropriately sized feature, unless the related changes are of equivalent priority.

Release Planning

Conditions of Satisfaction Date-driven OR (!) Feature-driven

Plan Detalization Page 135, topic for discussion The next question to be addressed regards how detailed the release plan will be. Some teams in some environments prefer to create a release plan that shows what they expect to develop during each iteration. Other teams prefer simply to determine what they think will be developed during the overall release, leaving the specifics of each iteration for later. This is something to be discussed and decided during release planning.

Iteration Planning: Velocity Driven Tasks Are Not Allocated During Iteration Planning Estimate Tasks Task estimating on an agile project should be a group endeavor Meetings Count (A Lot) Report US-related meeting time to US tasks

Iteration Planning: Commitment Driven

Selecting An Iteration Length The length of the release being worked on 4-5 iterations The amount of uncertainty The ease of getting feedback How long priorities can remain unchanged Willingness to go without feedback The overhead of iterating A feeling of urgency is maintained

Buffering Plans for Uncertainty Feature Buffers 30% of optional features Schedule Buffers

Planning the Multi-Team Project Establishing a common basis for estimates Adding detail to their user stories sooner Lookahead planning Incorporating feeding buffers into the plan

Monitoring The Plan Monitoring The Release Plan Release Burndown Chart Monitoring The Iteration Plan Task Board Teams should be reluctant to track the actual hours expended on tasks in order to get better at estimating. The risks and the effort to do so usually outweigh the benefits.

Why Agile Planning Works Re-planning Occurs Frequently Estimates Of Size and Duration Are Separated Plans Are Made At Different Levels Plans Are Based On Features, Not Tasks Small Stories Keep Work Flowing Work In Process Is Eliminated Every Iteration Tracking Is At The Team Level Uncertainty Is Acknowledged And Planned For

A Dozen Guidelines for Agile Estimating and Planning Involve the whole team. Plan at different levels. Keep estimates of size and duration separate by using different units. Express uncertainty in either the functionality or the date. Replan often. Track and communicate progress. Acknowledge the importance of learning. Plan features of the right size. Prioritize features. Base estimates and plans on facts. Leave some slack. Coordinate teams through lookahead planning.