Agile estimation 1_Мел Росс
Upcoming SlideShare
Loading in...5

Agile estimation 1_Мел Росс






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Agile estimation 1_Мел Росс Agile estimation 1_Мел Росс Presentation Transcript

    • Agile Estimation Mel Rosso-Llopart Carnegie Mellon University Rosso-Llopart ©2013 1
    • Agenda  Software Estimation Concepts – –  Agile Techniques Exercises on estimation Other Estimation techniques –  Improving your estimation –  FP: Exercises on how to estimate Case study – Estimation as a tool Wrapup Rosso-Llopart ©2013 2
    • Software Estimation concepts (How to be Agile and still keep you job) Rosso-Llopart ©2013 3
    • Agenda    Background What is estimation Important concepts −  How to improve −   Time Boxing Wideband Delphi Exercises Summary Rosso-Llopart ©2013 4
    • My Background  Teaching at Carnegie Mellon University since 2000 − −   Master of SwE graduate Senior lecturer 15 years experience Department of defense 4 years owning my own companies Rosso-Llopart ©2013 5
    • My Background    Degrees in SwE, CS, Biology and Physics 2 years working for Daimler/Chrysler Currently − − Associate director MSE Teaching Professor 2000 Rosso-Llopart ©2013 6
    • What Estimation is NOT      A crystal ball A guarantee of how long something will take A way to predict the future A process of telling people how they should do their work Gambling – place your bet Rosso-Llopart ©2013 7
    • What is Estimation Software cost estimation   “Predicting the resources required for a software development process” Ian Sommerville Estimate noun [C] “an approximate calculation or judgement of the size, value, amount, cost, etc. of something” Cambridge Dictionary Rosso-Llopart ©2013 8
    • Agenda  Background  What is estimation  Important concepts −  How to improve −   Time boxing Wideband Delphi Exercises Summary Rosso-Llopart ©2013 9
    • Estimation techniques  There is no simple way to make an accurate estimate of the effort required to develop a software system − − −  Initial estimates are based on inadequate information in a user requirements definition The software may run on unfamiliar computers or use new technology The people in the project may be unknown Project cost estimates may be self-fulfilling − The estimate defines the budget and the product is adjusted to meet the budget (Parkinson’s Law) Rosso-Llopart ©2013 10
    • Estimation Worst Practices • • • • • • No historical data Failure to monitor and track status Creating documentation after coding Excessive and irrational schedule pressures Failure to establish clear acceptance criteria Leave all testing for the end • Reduce testing time to make schedule • Don’t allow estimation techniques enough time to work Rosso-Llopart ©2013 11
    • What kind of things do we estimate?      Time Money (cost) Size of what we can build Number of features we can deliver How long before our boss comes back and figures out we are not doing what we said Rosso-Llopart ©2013 12
    • Estimating exercise 1  How many tennis balls will it take to fill this room? − − − How would you go about making the estimate? – Explain in Details What do you need to know? What assumptions would you make? Rosso-Llopart ©2013 13
    • Estimating exercise 2  If the project is well understood − − − − 2 months to deliver (40 days) 25 LOC per day per engineer Estimated 5000 LOC How many people needed? What are the major assumptions above? Did any of you already make an estimate today? For example: How long it would take you to get to the workshop? Rosso-Llopart ©2013 14
    • Time Boxing a way to manage estimation   Fitting the work to the time, not the time to the work. Holding the time fixed and increasing the effort within the time frame to complete the work needed. Rosso-Llopart ©2013 15
    • Concept in a nutshell (staff allocation in a time box) Rosso-Llopart ©2013 16
    • Effect of time boxing on Effort Rosso-Llopart ©2013 17
    • Impossible and Impractical  There are a Range of values for any task that are Impossible and Impractical − − Impossible it too fast for the group, this is always being renegotiated, but there are values that will always be impossible Impractical it is too slow, no one will ever wait that long Rosso-Llopart ©2013 18
    • Tradeoff region Rosso-Llopart ©2013 19
    • Agenda  Background  What is estimation  Important concepts  Time boxing  How to improve −   Wideband Delphi Exercises Summary Rosso-Llopart ©2013 20
    • Improving Your Chances: Wideband Delphi • Six step process – Planning – define the scope of the problem  Break large problems into smaller – The Kickoff – To deliver problem to team – Individual preparation – Everyone does individual estimates on problem parts  All assumptions are written down – Estimation Meeting – Everyone on team gets together – Assembling Tasks – Put together the whole project of estimates – Review Results – Bring team back to review final results Rosso-Llopart ©2013 21
    • The Delphi process in Wideband  Estimation Meeting − A moderator collects the estimates for the task being estimated  − − − − The estimate is discussed and assumptions presented Moderator calls for a new estimate from everyone Values are again presented to the team as average or line Continue process until:     − Present the average or a line with all estimates (anonymous) Four rounds are completed The estimates “converged” to an acceptably narrow range The allotted meeting time is complete All participants are unwilling to change their estimates 15-20 minutes per item discussed Rosso-Llopart ©2013 22
    • Rounds in Delphi Rosso-Llopart ©2013 23
    • Rules to insure best results for Wideband Delphi • • • • Gather a heterogeneous team (Why?) Write down assumptions Make anonymous estimates (Why?) Never estimate tasks larger than you are comfortable with And Remember this is “estimation” not “prediction” Rosso-Llopart ©2013 24
    • Exercise We will perform Wide band Delphi 1. You will answer on your own the questions asked on the sheet 2. Then you will break up into teams and perform Wideband Delphi – Use your individual answers as the first round (You should have a team sheet also.) 3. We will come back together as a group and get the answers. 4. We will evaluate the individual and team answers Rosso-Llopart ©2013 25
    • Answers are: Rosso-Llopart ©2013 26
    • Discussion time    Was this hard to do? What makes it hard or easy to do? Will you consider using Wideband Delphi? − Why or why not? Rosso-Llopart ©2013 27
    • Questions Rosso-Llopart ©2013 28
    • References    Mike Cohn, “Agile Estimation and Planning”, Prentice Hall, 2006. Watts Humphrey, “Introduction to the Personal Software Process”, Addison-Wesley, 1997. Steve McConnell, “Software Estimation Demystifying the Black Art”, Microsoft press, 2006. Rosso-Llopart ©2013 29