Why Software Estimation is so Painful and How It Doesn’t Have To Be

Slides:



Advertisements
Similar presentations
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Advertisements

1 / 27 CS 709B Advanced Software Project Management and Development Software Estimation - I Based on Chapters 1-3 of the book [McConnell 2006] Steve McConnell,
Agile development By Sam Chamberlain. First a bit of history..
T /5115 Software Development Project I/II Project Planning Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
6 December ’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
What is Scrum Process? Where is it used? How is it better?
Copyright David Churchville - XP and Agile Planning David Churchville ExtremePlanner Software XP Fishbowl.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Software Estimation Slide 1 1 of 4 Software Estimation Demystifying the Black Art by Steve McConnell Presented by Lee Bennett, PMP.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Copyright 2008 Introduction to Project Management, Second Edition 2  Many people have heard the following sayings: ◦ If you fail to plan, you plan to.
Ahmad Al-Ghoul. Learning Objectives Explain what a project is,, list various attributes of projects. Describe project management, discuss Who uses Project.
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
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.
Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Using Agile Approach with Fixed Budget Projects April 15, 2009.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Extreme Programming Based on and
What Is Agile? Agile is a group of software development methodologies Scrum Extreme Programming (XP) Lean Etc. Key Characteristics: Small increments Adaptive.
SCRUM.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Team Skill 2 Understanding User and Stakeholder Needs The features of a Product or System (9)
Introducing Scrum to a New Games Development Studio Harvey Wheaton.
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Managing multiple projects or services? Have a mix of Microsoft Project and more simple tasks? Need better visibility and control?
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Why Software Estimation is so Painful and How It Doesn’t Have To Be
Managing the Project Lifecycle
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Fundamentals of Business Analysis
CS 5150 Software Engineering
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
By: By: Agile Scrum Master Online Training.
Client Management Managing Client Expectations
Scrum MODULE 3 – Part 3.
Teaching slides Chapter 3.
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Summarizing Our Models to Date
Johanna Rothman Report Your Project State Chapter 14
Johanna Rothman Know What “Done” Means Chapter 11
Chapter 11 – Project Dashboard
Branching and Merging Practices
Dilbert Scott Adams Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman.
Sprint Planning April 2018.
Introduction to Agile Blue Ocean Workshops.
Applied Software Project Management
Software Engineering Practice: A Generic View
Training 01: Project Lifecycle & Business Technology Analysis
Agile Development – a new way of software development?
Scrum in Action.
Executive Project Kickoff
Chapter 11 – Project Dashboard
Sprints.
Product Development & Planning
Presentation transcript:

Why Software Estimation is so Painful and How It Doesn’t Have To Be Gregg Boer Principal Program Manager Microsoft Corporation Tech Ed North America 2010

Software development is puzzle solving

An estimate is a statement of probability 50% No limit to how long it will take!

Fixing the faucet example How long will it take? 5 hours 10% 3 hours 1 hour 8 hours 50% 75% 90% 1 week 95% Now

Estimates, targets and commitments Now Then Butt on the line!

For each project… what’s not clear At the start… Specific details of the nature of the software to built Details of specific requirements, Details of the solution, project plan, staffing, and other variables … are unclear (at best) Only after the sources of variability are investigate and pinned down, does the variability in the project diminish … and the variability in project estimates can also diminish

The degree of error created by skilled estimators at various points in the Project Figure 1 The Cone of Uncertainty

“If you have another week to work on your estimate, can your refine it so it contains less uncertainty?” Research has found… … the accuracy of the estimate depends on the level of refinement of the software’s definition. The more refined the definition, the more accurate the estimate. Reducing the variability doesn’t happen unless you reduce the variability in the project.

If the project is not well controlled… … or the estimators aren’t very skilled, the estimates can fail to improve The project must be “conducted” in a way that reduces variability.

Reducing variability Defined product vision (including committing to what you will not do)… Defining requirements – including what you are not going to do… Designing the user interface helps reduce the risk of variability arising from misunderstood requirements If the “project” is not defined or the product definition gets redefined, the cone gets wider. NOTE Software organizations sabotage their own projects by making commitments too early in the Cone of Uncertainty.

Cone of Uncertainty PMI estimates | Project Management Institute 0.67x 0.8x 1.0x 0.5x 0.25x 2x 4x 1.5x 1.25x Project cost (effort/cost) Product Definition Detailed Technical Requirements Development Design “Order of Magnitude” (+75%, -25%) “Budget” (+25%, -10%) “Definitive” (+10%, -5%) +100% -50%

Puzzle solving under pressure is difficult

Why do people hate estimating? You are being asked to … Commit to hitting a specific target For a puzzle you have never solved before When you have the least information Then solve the puzzle under extreme schedule pressure, and when the date isn’t met, heads roll That’s why.

Effort Schedule Size Data How long would it take…

What you need… Unit Measure

Some existing sizing methods Lines of Code Function Points Pages of Requirements Screens or Web Pages

Story Points (Break down Features into user stories) Priority Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery

Team work! Everyone gets a deck of cards Planning Poker 1 Product Backlog – User Stores 2 3 5 Log in 8 Priority 13 Customize landing page 20 40 100 Sign up for delivery ∞ Cancel delivery

Calibrate story points Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Completed User Stories Add customer View customer account Log history entry Block account 5 Priority

Team members estimate the user story and Team members share their estimates Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Completed User Stories Add customer View customer account Log history entry Block account Priority 1 5 8

Team members estimate the user story and Team members share their estimates Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Completed User Stories Add customer View customer account Log history entry Block account 5 8 13 Priority

Team members estimate the user story and Team members share their estimates Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Completed User Stories Add customer View customer account Log history entry Block account 5 8 13 Priority

Team members estimate the user story and Team members share their estimates Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Completed User Stories Add customer View customer account Log history entry Block account 5 8 13 Priority

Team members estimate the user story and Team members share their estimates Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Sprint Backlog 2 weeks 5 8 13 Priority

Effort Schedule Size Data How long would it take…

Average = 9.5

Effort Schedule Size Data How long would it take…

? We need this in 6 months! User Stories 100 story points Now Then Data says 10-12 months Butt on the line!

Advantages of Story Points Simple Quicker feedback loops Team A story points≠ Team B’s story points

What visibility do you have? Product Definition Detailed Technical Requirements Detailed Development Design

What value does the estimate have? Visibility

Types of estimators Optimist Padder Pessimist Cynic Pleaser

Those asking for the estimate Money Bags Intimidator The End is Near! Doomsayer

Emotion runs wild The End is Near!

The investment matches the value

Expectations based on visibility Product Definition Detailed Technical Requirements Detailed Development Design

Re-estimate when there is more information

Is it an estimate or a commitment? Now Then Butt on the line!

Estimating: Waterfall Project What you need – the process: Information required: Approved Business Requirements Multiple people to estimate separately, then meet to review, revise Apply Cone of Uncertainty applied: (-50%, +100%) Estimate only Re-estimate after Detailed Requirements Phase

Suits vs. Shirts Ask for what they want More senior Good negotiator Determine what’s possible More junior Good with puzzles

Suits vs. Shirts What’s the Common goal? Now

Present in ranges Mar 1 Now Then January - April

Advice For every estimate, demand appropriate investment Show your homework – done collaboratively Stand firm