“Software Estimating: Reflections and Looking Forward” November 2010

Slides:



Advertisements
Similar presentations
Project management Information systems for management1 Project Management.
Advertisements

Alternate Software Development Methodologies
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.
High Tech Marketing Prof. Mitchell Tseng IELM538.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Software Process and Product Metrics
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Project Risk Management Risk Mitigation. Risk Management  The prime objective of risk management is to minimize the impact and probability of the occurrence.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Capability Maturity Model
Cost Management Week 6-7 Learning Objectives
Copyright 2012 John Wiley & Sons, Inc. Chapter 11 Project Control.
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
“Budgeting of IT-projects: Standards and best practices for cost and schedule planning.” Galorath Incorporated Daniel D. Galorath blog:
S/W Project Management
Software Project Management Lecture # 8. Outline Chapter 25 – Risk Management  What is Risk Management  Risk Management Strategies  Software Risks.
Project Risk Management. The Importance of Project Risk Management Project risk management is the art and science of identifying, analyzing, and responding.
N By: Md Rezaul Huda Reza n
Systems Development Lifecycle Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design Implementation Maintenance.
Software Project Management Lecture # 8. Outline Earned Value Analysis (Chapter 24) Topics from Chapter 25.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
Implementing and growing 11i in a small to midsized business David Tomczak, Camelbak Products.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
IT Requirements Management Balancing Needs and Expectations.
Software Project Management With Usage of Metrics Candaş BOZKURT - Tekin MENTEŞ Delta Aerospace May 21, 2004.
Ahmad Al-Ghoul. Learning Objectives Explain what a project is,, list various attributes of projects. Describe project management, discuss Who uses Project.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
The Art of Estimating Programming Tasks Adriana Lopez Development Director Dragon Age II.
1 TenStep Project Management Process ™ PM00.9 PM00.9 Project Management Preparation for Success * Manage Quality *
UNIT III. A managerial problem can be described as the gap between a given current state of affairs and a future desired state. Problem solving may then.
" The Importance of RM in strategic in sustainable service delivery How to avoid Service Delivery Protest ” Institute of Municipal Finance Officers & Related.
 Overview of Project management. ◦ Management. ◦ Project Management. ◦ Software Project Management. ◦ Project(Dimensions, Characteristics, Complexity,
Effective Time Management
Project Management Chapter 3.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Game Design, Development, and Technology
Project Integration Management
The Systems Engineering Context
Introduction SOFTWARE ENGINEERING.
VP, Institutional Services
HPI Leadership and Challenges
12 Steps to Useful Software Metrics
Chapter 2 SW Process Models
Recognization and management of RISK in educational projects
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
The value of a project-oriented approach to IT and how we do it in IBM
Software Project Planning &
Software Quality Engineering
By Kean Tak, MSc, Lecturer at RUPP
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Where is Your Organization on the Accessibility Maturity Scale
FOUNDATIONAL CONCEPTS
Earned Value in the Industrial Construction Setting
ASSESS Initiative Update
Chapter 5: Software effort estimation
Objectives 1. A definition of planning and an understanding of the purposes of planning 2. Insights into how the major steps of the planning process are.
Project closeout and termination
SE 3800 Note 10 Project Management
Baisc Of Software Testing
Software Engineering I
Capability Maturity Model
Chapter 11 Project Control.
Software Testing Lifecycle Practice
KNOWLEDGE MANAGEMENT (KM) Session # 36
Capability Maturity Model
Chapter 11 Project Control.
Think about your view of QA
KEY INITIATIVE Financial Data and Analytics
Time Scheduling and Project management
Presentation transcript:

“Software Estimating: Reflections and Looking Forward” November 2010 We are interested in hearing your reflection on the cost estimation field over the years as well as your thoughts on the state of the industry looking forward Galorath Incorporated Daniel D. Galorath blog: www.galorath.com/wp

An Estimate Defined: Many Still Take an Estimate As Exact An estimate is the most knowledgeable statement you can make at a particular point in time regarding: Effort / Cost Schedule Staffing Risk Reliability Estimates more precise with progress A WELL FORMED ESTIMATE IS A DISTRIBUTION

Age Warped History of Software Estimating 1966 SDC Software cost model (Probably the 1st Software Model) 1976 Manual Estimate Killed Project 1978 Halstead Software Science 1979 Reifer, Galorath paper the genesis of “JPL Softcost” 1980ish COCOMO 1982ish Reifer Poor Mans Guide to Estimating Software Cost 1983 Softcost use made management hardware decision viable 1984 CEI & Jensen model: more powerful than Softcost 1988 SEER-SEM Development 1988-Present Hundreds of staff years with constant: Data collection Cost Model refinement Other models (e.g. defects, maintenance, monitoring & control) Data driven models (e.g ProjectMiner, Metrics & Benchmarking, Data Driven analogies)

Poor Estimates Effects on Projects Inaccurate estimates significant impact on project success: Poor implementations Critical processes don’t scale Emergency staffing Cost overruns caused by underestimating project needs Lack of well defined objectives, requirements, & specifications, results in creeping scope resulting in: Forever changing project goals Frustration Customer dissatisfaction Cost overruns and missed schedules Project Failures Incorrect estimates / bad plans are a root cause of subsequent program risk Estimating & Planning are key to software project success

Problem: Humans seem hardwired to be optimists Delusions of Success: How Optimism Undermines Executives' Decisions (Source: HBR) Problem: Humans seem hardwired to be optimists Routinely exaggerate benefits & discount costs Optimism from cognitive biases & organizational pressures Exaggerate talents & degree of control Attribute negative consequences to external factors Anchoring (relying heavily on 1 piece of information) magnifies optimism Most pronounced for new initiatives Solution: Temper with “outside view” Supplements traditional forecasting w/ statistical analysis of analogous efforts Don’t remove optimism, but balance optimism & realism Why Should We Care: Optimistic Estimates Come From Optimistic People. And It Is Hard To Be Realistic

The Chasm: Acceptance of Parametrics Source: "Crossing The Chasm," Geoffrey A. Moore 3. Early majority-MAINSTREAM MARKET POPULATION- a) Similar to Early adopters but far more practical and pragmatic Aversion to risk, want a proven solution. b) Insist on seeing well-established references of other Early Majority users (A real Catch-22) c) Not intimidated by technology, but will not pursue technology for technology's sake. I.e. “no one gets fired for choosing IBM 2. Early adopter (Visionary) a) Not technologists but appreciate technology benefits. need more help than Innovator. b) In pursuit of major benefits early-on can see the strategic opportunity represented by new technology. c) In search of procedural and benefit break-through which will achieve order-of-magnitude ROI. e) Easy to sell & hard to please f) Want "productized" technology g) Always in a rush but contract closure is next to impossible h) Expectation Management… visionaries will attempt to alter a vendor's priorities. Acceptance 4. Late majority a) Similar to Early majority BUT they are not confident in their ability to handle a technology product. 5. Laggard a) Want nothing to do with technology and not worth the trouble to try to convert. Tend to "fight the use of new technology 1. Innovator a) Pursues new technology aggressively, often for its own sake. b) Technologists or technology enthusiasts c) Will overlook all kinds of short falls in the deliverable. d) Easiest buying population to satisfy: want the truth, access to top technical support, be first, want low cost (cheap.) I believe parametrics are in later part of early adoptors with “data driven” as a current manta

Opportunity to Reduce Cost Parametrics Can Provide Cost Reduction Insight Early, Then Throughout The Project and Opportunity 100% 80% 60% The Time to Reduce Costs 40% 20% 0% Concept Design Test Production Committed Cost Opportunity to Reduce Cost Ó Galorath Incorporated 2004

Engineers Sometimes Don’t Care Since Costs Are Constantly Talked About Why Aren't They Understood and Managed? Don’t Know How How To Produce Credible Estimates How To Scope The Problem How To Factor In Risk Engineers Sometimes Don’t Care Make It “Best”… At Any Cost Since They Can’t Quantify Cost They May Ignore Cost Over Optimism Sometimes People Don’t Want To Know The Cost Their Programs May Get Killed They May Not Win They May Lose Their Job They May Be Proven Wrong

Estimation Organizational Maturity: Clarifies Estimation Needs & Goals Level 0 Informal or no estimating Manual effort estimating without a process Level 1 Direct Task Estimation Spreadsheets Ad Hoc Process Level 2 Formal Sizing (e.g. function points) Simple model (Size * Prod.) or informal SEER Use Some measurement & analysis Informal Process Level 3 Formal Sizing Robust Parametric estimation (SEER) Estimate vs. actual capture Rigorous measurement & analysis Parametric planning & Control repeatable process Level 4 Formal sizing Repeatable process Robust parametric estimating (SEER) Parametric estimation with tracking & control Process improvement via lessons learned Level 5 Continuous process improvement We’re finding most companies are In this range Why Should We Care: Impacts ROI & development decisions. Robust processes can improve project success

10 Step Software Estimation Process: Consistent Processes = Reliable Estimates Establish Estimate Scope Establish Technical Baseline, Ground Rules, Assumptions Collect Data Estimate and Validate Software Size Prepare Baseline Estimates Quantify Risks and Risk Analysis Review, Verify and Validate Estimate Generate a Project Plan Document Estimate and Lessons Learned Track Project Throughout Development This software estimation process is described in Software Sizing, Estimation and Risk Management by Dan Galorath and Michael Evans. 10

Manual Estimates: Human Reasons For Error (Metrics Can Help) Manual Task estimates yield SIGNIFICANT error Desire for “credibility” motivates overestimate behavior (80% probability?) So must spend all the time to be “reliable” Better approach: force 50% probability & have “buffer” for overruns Technical pride sometimes causes underestimates

Sizing Pitfalls: Still A Challenge Sizing Mistake Consequence Wrong sizing metric chosen for level of detail desired Large variance in estimates Not enough time/effort spent on software sizing in general Unbelievable estimates – results don’t match the program and are too optimistic or pessimistic No clear definition of size Inconsistent estimates – results don’t pass the sanity check, unreliable output, blame the model Size growth not considered OR size estimates reduced to achieve desired cost Inaccurate estimates – results are too optimistic, programs will overrun cost / schedule estimates

The Vision of Parametrics Over the Next 20 Years (Originally Drafted 2004) Parametrics will be integrated into engineering processes and engineering decision making For example: Cost of a system derived from simulation models of that system Parametrics will be used throughout Government and industry Parametrics will lose its “magic” reputation Improved processes will yield better data Augmentation of parametrics with more viewable data will increase believability among engineers and management The nay-sayers who say that can make parametric models say anything they want will be replaced with belief More dynamic parametrics based on both historical and real time data Parametric models will be available to use as “objects” in financial and engineering analysis

Lessons Learned Once you build a new model / methodology it takes about 3 years before it gets to the chasm.. Crossing takes a lot longer Development is never done. New models, upgrades, enhancements must occur constantly Software development of commercial products continues to become more difficult. Nothing is easy People will promise much more data than will ever be received Data must be qualified as to its quality so bad data is better segregated Models need to handle what people are doing today as well as what they will need next year People make estimates, models are tools