1 / 23 CS 709B Advanced Software Project Management and Development Software Estimation - II Based on Chapter 4 of the book [McConnell 2006] Steve McConnell,

Slides:



Advertisements
Similar presentations
Project management.
Advertisements

Chpter#5 -part#1 Project Scope and Human Resource Planning
Software Development Life-Cycle Models
ESTIMATING Agile/practical project work TDT4290, NTNU, Trondheim Fredrik Bach 02/09/2014.
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,
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Project Estimation: Demystifying the Black Art. How good an estimator are you?
The Comparison of the Software Cost Estimating Methods
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Project management.
CSE 403 Lecture 8 Risk assessment. Lecture goals Understand risk management and assessment techniques Guarding against failure to meet delivery deadline,
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Lesson 14. Is essential to any projects Is a response to uncertainty, (if you knew how long will an activity would take or how much it would cost –
CSE Senior Design I Risk Management Instructor: Mike O’Dell This presentations was derived from the textbook used for this class: McConnell, Steve, Rapid.
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
Estimation Why estimate? What to estimate? When to estimate?
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
Estimating Copyright © 2006 Patrick McDermott UC Berkeley Extension McConnell, Steve, Software Estimation: Demystifying the Black Art,
Estimation Chapter 3 Applied Software Project Management, Stellman & Greene.
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Estimation Slide 1 1 of 4 Software Estimation Demystifying the Black Art by Steve McConnell Presented by Lee Bennett, PMP.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project estimation Biased advice on producing accurate project estimates and managing expectations with stakeholders. Morgan Strong.
CSE 403, Spring 2007, Alverson Software Projects – the challenges we face RD:McConnell.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
1 Software Estimation. 2 Software Estimation: Demystifying the Black Art  While there is a limit to how good a project can go, there is no limit to how.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
The Art of Estimating Programming Tasks Adriana Lopez Development Director Dragon Age II.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
CSE 403, Spring 2008, Alverson Estimation What to say when asked for an estimate “I’ll get back to you” Pragmatic Programmer Deadly sins material adapted.
Software Project Estimation IMRAN ASHRAF
CSE 403, Spring 2007, Alverson Estimation What to say when asked for an estimate “I’ll get back to you” Pragmatic Programmer Deadly sins material adapted.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Chap 4. Project Management - Organising, planning and scheduling
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management 1/30/2016ICS 413 – Software Engineering1.
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
Software projects can be managed in terms of 4 variables ● Time ● Scope ● Resources ● Quality.
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
Software Development Estimation
By Majesh reddy Salla. Introduction Factors for poor estimation Agile Process Agile effort estimation techniques Planning poker Analogy & Expert opinion.
CS 160 and CMPE/SE 131 Software Engineering March 22 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
 Son Nguyen, YM & Skype: ng_thanhson.
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
Software cost and effort estimation will never be an exact science. Estimation is very difficult to do, but is often needed Too many variables can affect.
School of Business Administration Chap 3 Engineering of Software;
Project Cost Management
Why Software Estimation is so Painful and How It Doesn’t Have To Be
Lecture 11: Scheduling, Estimation, and Prioritization
Chpter#5 -part#1 Project Scope and Human Resource Planning
Constructive Cost Model
Dilbert Scott Adams Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman.
Cost Estimation I've got Bad News and Bad News!.
How to fail at delivering software
Based on Chapter 5 of the book [McConnell 2006]
Software Cost Estimation
Presentation transcript:

1 / 23 CS 709B Advanced Software Project Management and Development Software Estimation - II Based on Chapter 4 of the book [McConnell 2006] Steve McConnell, Software Estimation: Demystifying the Black Art, Microsoft Press, 2006 May 1, 2012

2 / 23 Outline n n Where Does Estimation Error Come From? u u Sources of Estimation Uncertainty u u The Cone of Uncertainty u u Chaotic Development Process u u Unstable Requirements u u Omitted Activities u u Unfounded Optimism u u Subjectivity and Bias u u Unwarranted Precision

3 / 23 Introduction n n Estimation in general presents challenges u u U of Washington CSE Department’s building: months late and $20.5 million over budget u u Seattle Mariners’ new baseball stadium was estimated in 1995 to cost $250 million. It was finally completed in 1999 and cost $517 million n n Examples in software u u Irish Personnel, Payroll and Related Systems (PPARS) canceled after its overran its 8.8 million Euro budget by 140 million Euro! u u FBI’s Virtual Case File shelved in 2005 after costing $170 million and delivering 1/10 of capabilities.

4 / 23 Sources of Estimation Uncertainty n n Four generic sources u u Inaccurate information about the project u u Inaccurate information about organization’s capabilities u u Too much chaos in the project (moving target) u u Inaccuracies arising from the estimation error itself n n Software development is a process of gradual refinement. The many ways a software could ultimately take shape will produce widely different combinations of cost, schedule, and feature set.

5 / 23 The Cone of Uncertainty Software development means making literally thousands of decisions. Uncertainty in software estimates results from uncertainty on how these decisions will be made.

6 / 23 The Cone of Uncertainty n Estimation accuracy increases as the project progresses, usually from +/-4x to +/-1.25x in about 30% of time

7 / 23 The Cone of Uncertainty n Can you beat the cone? It’s very hard, as it represents best- case accuracy. It’s only possible to be luckier. The main issue is project variability, and the cone narrows only if you remove sources of variability.

8 / 23 The Cone of Uncertainty n You must force the Cone to narrow by removing sources of variability from your project

9 / 23 The Cone of Uncertainty n One way of dealing with too narrow estimate ranges is to use predefined multipliers applied to “most likely” estimates; another is to use a “know-how-much” and “know-how- uncertain” strategy

10 / 23 The Cone of Uncertainty n n The Cone and the Commitment u u Effective organizations delay their commitments until they have done the work to force the Cone to narrow n n The Cone and the Iterative Development u u It’s impractical and almost impossible not to have iterations u u There is a mini Cone in each iteration u u Short iterations will narrow this mini Cone early u u Another approach is to have (more) iterations after narrowing the Cone. u u Also, it’s possible to plan for some unexpected requirements (“positive variability”)

11 / 23 Project Chaos n n Common examples of sources of chaos include: u u Requirements inadequately investigated u u Lack of end-user involvement in requirements u u Poor designs u u Poor coding practices u u Incomplete or unskilled project planning u u Inexperienced personnel u u Prima donna team members u u Abandoning planning under pressure u u Lack of automated source code control n n These induce variability and need be fixed with improved process control

12 / 23 Unstable Requirements n n Specific challenges raised by unstable requirements: u u They don’t allow the Cone to narrow u u Requirements changes are often not tracked, and the cost and schedule are not re-estimated n n Stabilizing requirements is more effective than improving estimation techniques n n Also, consider applying development techniques for high-volatile environments (XP, Scrum, DSDM, etc.)

13 / 23 Unstable Requirements n It’s useful to incorporate allowances for requirements growth. NASA SEL plans for 40% requirements increase. COCOMO incorporates a similar concept (“requirements breakage”).

14 / 23 Omitted Activities n Errors also arise from estimation practices n A common source of errors is forgetting to include necessary tasks n Omitted work includes: u Missing requirements u Missing software development activities u Missing non-software development activities

15 / 23 Omitted Activities u Missing requirements u Missing software development activities u Missing non-software development activities

16 / 23 Omitted Activities n Missing requirements examples are shown below n You must include estimates for stated requirements, implied requirements, and non-functional requirements

17 / 23 Omitted Activities

18 / 23 Omitted Activities n Examples of non-software development activities that tend to be omitted

19 / 23 Unfounded Optimism [the collusion of optimists] n Developers underestimate their work by 20% to 30% [Cusumano and Shelby 1995, 300 software projects] n Optimism applies to management as well, with a “fantasy factor” of about 1.33 [Boehm 1981, DoD, 100 schedule estimates] n Variations: u We’ll be more productive in this project than in the last one u A lot of things went wrong with the last project. This will not happen with the current project. u We are past the hard climbing of a steep learning curve

20 / 23 Subjectivity and Bias n Bias – tendency to “fudge an estimation” n Subjectivity – human judgment influenced by experience n Too many “control knobs” are likely to introduce subjectivity.

21 / 23 Subjectivity and Bias n Smaller number of adjustment factors (“knobs”) >>> smaller variation in estimates

22 / 23 “Off-the-Cuff” Estimates n It’s highly recommended to avoid “off-the-cuff” estimates

23 / 23 Unwarranted Precision n Accuracy refers to how close to the real value a number is. Precision refers merely to how exact a number is (how many significant digits).