Why do we estimate?. How do we estimate? The cone of uncertainty.

Slides:



Advertisements
Similar presentations
WillHelpYouOut.com Hits 1000 Let’s get Started.
Advertisements

Compliance, Capability and Competence half-the-battle won.
Return on Investment: Training and Development
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. A PowerPoint Presentation Package to Accompany Applied Statistics.
USAGE AND PERCEPTIONS OF AGILE SOFTWARE DEVELOPMENT IN AN INDUSTRIAL CONTEXT Andrew Begel, Nachiappan Nagappan Microsoft Research ESEM 2007 September 21,
Iterative Development: Done Simply Emily Lynema NCSU Libraries Code4Lib 2010.
Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
Are Parametric Techniques Relevant for Agile Development Projects?
Acceptance Testing.
Extreme Planning: Agile turned to the max Exilesoft Johannes Brodwall Exilesoft Chief
Chapter Extension 16 Agile Development.
Based on the XP Game by Vera Peeters and Pascal Van Cauwenberghe ( 1Software Engineering /Spring.
Chap 3 Net Present Value.  Net present value is the single most widely used tool for large investments made by corporations.  Klammer reported a survey.
Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
Thinking in the Age of the Unthinkable Reut Methodology Day.
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Scrum.
NAUG NAUG Knowledge Evening – th February 2007.
© Timothy Korson Page 1 Scrum by Dr. Korson For CPTR 209 Software Engineering Version
Morning – 9am Getting Started Agile Manifesto Values & Principles Scrum Framework ~~ 10:40 to 11:00 Break ~~ Scrum Roles Backlog Grooming Estimation.
Agile Software Development Lab Dr. Günter Kniesel, Daniel Speicher, Tobias Rho, Pascal Bihler Spring 2008 Planning and Tracking Sina Golesorkhi Alexis.
Project Estimation: Demystifying the Black Art. How good an estimator are you?
Important concepts in software engineering The tools to make it easy to apply common sense!
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
丘偉廷. It can successfully occur within university administration, as I have personally experienced. The online educational team implemented and.
Project Cost Management
1 Agile Estimating and Planning October, 2013 Technion, Israel Prof. Fabio Kon University of Sao Paulo, Brazil
PAS: Scaling Agile – A real life experience November 4, 2009.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
What is Scrum Process? Where is it used? How is it better?
Chapter 6: Project Time Management
Banking Security in a Digital Age Trevor LaFleche, IDC Financial Insights.
Project Workflow. How do you do it? -Discussion-
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.
Software Estimation Slide 1 1 of 4 Software Estimation Demystifying the Black Art by Steve McConnell Presented by Lee Bennett, PMP.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
© Copyright 2010 Aqastra1 Dedicated to Testing Excellence Summit 2010 Selecting our Testers and Measuring their Performance Susan Windsor.
Chapter(3) Qualitative Risk Analysis. Risk Model.
Chapter 16 Planning a Budget. Why It’s Important Budgeting techniques help you keep track of where your money goes so that you can make it go further.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
1 Ex Libris Alma TCO/ROI April Why Use Financial Tools like ROI?
Cultivating Agile Requirements
Project Time Management
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Copyright 2010 Scott W. Ambler Agile Project Success Survey 2010 April 2010 Scott W. Ambler
By Majesh reddy Salla. Introduction Factors for poor estimation Agile Process Agile effort estimation techniques Planning poker Analogy & Expert opinion.
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Agile Project. Agile - Project proj·ect präj ˌ ekt noun an individual or collaborative enterprise that is carefully planned and designed to achieve a.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Introduction to Agile Development Advanced Software Engineering Dr. Nuha El-Khalili.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Introduction to Agile Project Management Presented by Maury Richards, CSP.
Why Software Estimation is so Painful and How It Doesn’t Have To Be
Dr. Rob Hasker SE 3800 Note 3 Ch. 4, 5.
Teaching slides Chapter 1.
FIN 330 Corporate Finance Steven Gallaher
Frameworks in project management
Sprint Planning April 2018.
Agile Development – a new way of software development?
CHAPTER 6 PROJECT TIME MANAGEMENT
Agile, Scrum and CMMI Methodologies
Presentation transcript:

Why do we estimate?

How do we estimate?

The cone of uncertainty

The revised cone of uncertainty

Why we will always underestimate Optimism Bias Planning Fallacy Cognitive Bias in general Hofstadter's Law "It always takes longer than you expect, even when you take Hofstadter's Law into account.“

The real cone of uncertainty (no assumptions)

Where do we live? “Mediocristan” Height of human beings IQ Manufacturing a car “Extremistan” Google search results Wealth of individuals Software development

Black Swans “Unknown unknowns” Price of oil Dot com bubble Credit crunch 9-11 Realising our definition of done was not really “done” Not realising there would be so many difficulties with our hosting provider Bugs

Scrum Estimating and Planning General estimation T-shirt sizing (S, M, L, YGBK) Complexity points (1, 2, 3, 5, 8, 13, 100) Should never estimate in “man hours” Estimates made by the team doing the work Do some work to find out the velocity of the team Add range of error (e.g. Cone of uncertainty)

Agile methodologies do not make us more predictable Teams get better at estimating as they go but only up to a point not necessarily any better than if we’d spent a lot of effort making fine grained estimates may be a lot worse to begin with Working iteratively makes us more able to respond to uncertainty but does not mean we become any more predictable

A dose of reality Teams change, requirements change, environments change T-shirt sizing and story points get turned into man hours People make commitments either explicitly or implicitly Customer doesn’t care about assumptions, they want to know when it’ll be ready

Example 1 Sprint 0: no estimate lets do some work and find out our velocity Sprint 1: 3-5 months Sprint 2: 4-6 months Sprint 3: 4-7 months Sprint 4: 5-7 months team has really bedded in by this point and is making better estimates Sprint 5: 6-7 months Customer makes some implicit commitments on project being delivered in 4 months (allowing contingency of 1 month) Sprint 7: 6-10 months At this point a “Black Swan” event occurs – we find out the hosting environment does not have security compliance. New compliant kit has to be spec’d and built and all the software has to be moved and tested.

Example 2 Sprint 0: no estimate lets do some work and find out our velocity Sprint 1: 2-4 months Sprint 1: 3-7 months Sprint 3: 5-7 months team has really bedded in by this point and is making better estimates However, the BA leaves as s/he’s been offered a load of money by Google Sprint 4: 5-8 months Customer makes some implicit commitments on project being delivered in 4 months (allowing contingency of 1 month) Velocity drops as team realises what a contribution the BA made Sprint 5: 6-10 months Velocity drops even further as new BA has no idea what they were talking about One of the developer’s leaves so velocity drops yet again.

What’s more important? What we do or how predicable we are? Dr Dobbs' Journal did a survey on how we define success. They found: 61.3 percent of respondents said that it is more important to deliver a system when it is ready to be shipped than to deliver it on time percent said that meeting the actual needs of stakeholders is more important than building the system to specification percent said that providing the best return on investment (ROI) is more important than delivering a system under budget percent said that delivering high quality is more important than delivering on time and on budget

In chapter 4 of Peopleware by DeMarco and Lister they discuss a study done in 1985 by researchers at the University of New South Wales. The study analyzed 103 actual industrial programming projects and assigned each project a value on a “weighted metric of productivity”. They then compared the average productivity scores of projects grouped by how the projects’ estimates were arrived at. They found that programmers are more productive when working against their own estimates as opposed to estimates created by their boss or even estimates created jointly with their boss The study also found that on projects where estimates were made by third-party system analysts the average productivity was even higher. This last result was a bit of a surprise, ruling out the theory that programmers are more productive when trying to meet their own estimates because they have more vested in them. But the real surprise was that the highest average productivity was on those projects that didn’t estimate at all.