Au3593_half title 1/17/06 3:45 PM Page 1 Software Sizing, Estimation, and Risk Management Series_AU_001 Page 1 Thursday, April 21, 2005 3:24 PM Other Auerbach Publications in Software Development, Software Engineering, and Project Management The Complete Project Management Software Configuration Management Office Handbook Jessica Keyes Gerard M. Hill 0-8493-1976-5 0-8493-2173-5 Software Engineering for Image Complex IT Project Management: Processing 16 Steps to Success Phillip A. Laplante Peter Schulte 0-8493-1376-7 0-8493-1932-3 Software Engineering Handbook Creating Components: Object Oriented, Jessica Keyes Concurrent, and Distributed Computing 0-8493-1479-8 in Java Software Engineering Measurement Charles W. Kann John C. Munson 0-8493-1499-2 0-8493-1503-4 The Hands-On Project Office: Software Metrics: A Guide to Planning, Guaranteeing ROI and On-Time Delivery Analysis, and Application Richard M. Kesner C.R. Pandian 0-8493-1991-9 0-8493-1661-8 Interpreting the CMMI®: A Process Software Testing: A Craftsman’s Improvement Approach Approach, Second Edition Margaret Kulpa and Kent Johnson Paul C. Jorgensen 0-8493-1654-5 0-8493-0809-7 ISO 9001:2000 for Software and Systems Software Testing and Continuous Quality Providers: An Engineering Approach Improvement, Second Edition Robert Bamford and William John Deibler II William E. Lewis 0-8493-2063-1 0-8493-2524-2 The Laws of Software Process: IS Management Handbook, 8th Edition A New Model for the Production Carol V. Brown and Heikki Topi, Editors and Management of Software 0-8493-1595-9 Phillip G. Armour Lightweight Enterprise Architectures 0-8493-1489-5 Fenix Theuerkorn Real Process Improvement Using 0-8493-2114-X the CMMI® Outsourcing Software Development Michael West Offshore: Making It Work 0-8493-2109-3 Tandy Gold Six Sigma Software Development 0-8493-1943-9 Christine Tayntor Maximizing ROI on Software Development 0-8493-1193-4 Vijay Sikka 0-8493-2312-6 Software Architecture Design Patterns in Java Implementing the IT Balanced Scorecard Partha Kuchana Jessica Keyes 0-8493-2142-5 0-8493-2621-4 AUERBACH PUBLICATIONS www.auerbach-publications.com To Order Call: 1-800-272-7737 • Fax: 1-800-374-3401 E-mail: [email protected] Au3593_title 1/17/06 3:44 PM Page 1 Software Sizing, Estimation, and Risk Management When Performance is Measured Performance Improves Daniel D. Galorath • Michael W. Evans Forewords by Dr. Barry Boehm & Donald Reifer Boca Raton New York AU3593_Discl.fm Page 1 Monday, December 19, 2005 2:26 PM Published in 2006 by Auerbach Publications Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2006 by Taylor & Francis Group, LLC Auerbach is an imprint of Taylor & Francis Group No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number-10: 0-8493-3593-0 (Hardcover) International Standard Book Number-13: 978-0-8493-3593-8 (Hardcover) Library of Congress Card Number 2005058144 This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the consequences of their use. No part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC) 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Library of Congress Cataloging-in-Publication Data Galorath, Daniel D. Software sizing, estimation, and risk management : when performance is measured performance improves / Daniel D. Galorath, Michael W. Evans. p. cm. Includes bibliographical references and index. ISBN 0-8493-3593-0 (alk. paper) 1. Computer software--Development. 2. Risk management. I. Evans, Michael W. II. Title. QA76.76.D47G347 2006 005.1--dc22 2005058144 Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com Taylor & Francis Group and the Auerbach Publications Web site at is the Academic Division of Informa plc. http://www.auerbach-publications.com Dedication Dan Galorath dedicates this book to my wife Judy Galorath who is an inspiration in all areas of my life and without whom this book may have never gotten finished. Mike Evans dedicates this book to the memory of Elliot Needleman “A Friend, a Mentor and a Heck of a Good Guy” Contents Foreword: Under the Tip of the Estimation Iceberg by Barry Boehm....xvii Foreword by Donald J. Reifer.......................................................................xix Preface............................................................................................................xxi How This Book Came about from a Galorath Viewpoint....................xxi Audience..................................................................................................xxiii Structure of the Book..............................................................................xxv What Can You Expect from the Book?..................................................xxv Acknowledgments.......................................................................................xxvii The Authors..................................................................................................xxix 1 The Problem.................................................................................1 Introduction.......................................................................................................1 Focus of the Book............................................................................................4 Why Software Projects Fail..............................................................................4 Why Software Projects Fail: Problems with Estimation.................................7 Why Software Projects Fail: Size Estimates....................................................9 Why Estimates Fail..........................................................................................13 Historical Data.................................................................................................14 Overly Optimistic Leadership and Management..........................................16 Failure to Use Estimate..............................................................................16 Failure to Keep Estimate Current.............................................................18 Role of Risk Management in Estimating.......................................................18 The Solution: Software Estimation — Ten-Step Process.............................20 Summary..........................................................................................................21 Endnotes....................................................................................................................21 2 Introduction to Software Estimation Techniques and Estimate Planning.......................................................................25 Introduction and Chapter Goals....................................................................25 Need for Efficient Software Project Management Metrics...........................26 Core Metrics Categories..................................................................................28 vii viii (cid:2) Software Sizing, Estimation, and Risk Management Software Project Estimates: Foundations of Software Project Management....................................................................................................30 Software Estimation Concepts........................................................................34 Project Estimation Process..............................................................................35 Step One: Establish Estimate Scope and Purpose..................................36 Step Two: Establish Technical Baseline, Ground Rules, and Assumptions................................................................................................38 Step Three: Collect Data...........................................................................39 Underlying Information........................................................................39 Interview with Judy Galorath........................................................................45 Software Data Collection Process..................................................................48 Software Data Collection Lessons Learned...................................................50 Prioritizing Estimation Effort..........................................................................54 Summary..........................................................................................................54 Endnotes....................................................................................................................54 3 Executing the Estimate..............................................................57 Introduction and Chapter Goal......................................................................57 Step Four: Software Sizing.............................................................................57 Predicting Size............................................................................................58 Size Estimation Approaches......................................................................60 Deciding on a Metric.................................................................................61 When to Use SLOC...............................................................................63 When to Use Function Points..............................................................63 Steps to Estimating Software Size.............................................................64 Sizing Step 1: Baseline Definition of the Size Metric You Will Use...65 Sizing Step 2: Define Sizing Objectives..............................................65 Sizing Step 3: Plan Data and Resource Requirements.......................66 Sizing Step 4: Identify and Evaluate Software Requirements............66 Sizing Step 5: Use Several Independent Techniques and Sources...66 Sizing Step 6: Tracking.........................................................................68 Sizing Databases.........................................................................................68 Legacy Software Rework...........................................................................69 Sizing Number of Functions to Be Learned, Used, and Integrated for COTS................................................................................................70 Step Five: Prepare Baseline Estimate............................................................70 Software Productivity Laws.......................................................................72 Bottom-Up Estimating................................................................................78 Software Cost Models................................................................................78 Organizing the Estimating Process...........................................................86 Delphi and Wideband Delphi...................................................................87 Activity-Based Estimates............................................................................89 Step Six: Quantify Risks and Risk Analysis..................................................99 Cost Estimation Risks.................................................................................99 Summary........................................................................................................102 Endnotes..................................................................................................................102 Contents (cid:2) ix 4 Planning and Controlling the Project via the Estimate.......105 Introduction...................................................................................................105 Step Seven: Estimate Validation and Review..............................................105 Estimate Review Process.........................................................................107 Estimate Review Activities.......................................................................108 Cost per Unit of Code Developed.........................................................109 Magic Bullets (Otherwise Known as Technical Leaps)...................109 Unrealistic Schedules..........................................................................110 Inaccurate Sizing.................................................................................110 Complexity versus Risk.......................................................................111 Careful Evaluation of Preexisting and COTS Software....................112 Off-the-Shelf Integration.....................................................................112 Function Point Counting Checklist.........................................................113 Sanity Counts.......................................................................................113 Lack of Convergence..........................................................................113 Double Counting.................................................................................113 Sample and Statistical Concerns........................................................114 Probability Level..................................................................................114 Falsely Bounded Risk.........................................................................114 Costs..........................................................................................................115 Are Staff Costs Fully Burdened?.........................................................115 How Many Hours Are in a Staff Month?..........................................115 Staff and Effort Accounting.....................................................................115 Does Overtime Count?........................................................................115 What Level of Management Participates?..........................................115 How Efficiently Is Staff Allocated?.....................................................116 Are Experience Levels Honestly Rated?............................................116 Schedules..................................................................................................116 What Is the Proportion of Daily Billable Work Done?....................116 Will Development Have Lags?...........................................................116 If Several Software Elements Are Developed, How Are They Scheduled?...........................................................................................116 Is It More Important to Save Time or Staff Cost?............................117 Sanity Check........................................................................................117 Estimate Process Questionnaire...................................................................117 Step Eight: Generate Project Plan...............................................................128 Action Items by Project Phase................................................................129 Determining Costs from Effort Estimates...............................................133 Estimating Personnel Mix...................................................................133 Labor Proportions.....................................................................................134 Other Costs...............................................................................................134 Travel Costs.........................................................................................134 Personnel Costs...................................................................................134 Depreciation Costs..............................................................................137 Training Costs......................................................................................137