ebook img

Estimating Software-Intensive Systems: Projects, Products, and Processes PDF

949 Pages·2005·18.099 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Estimating Software-Intensive Systems: Projects, Products, and Processes

Estimating Software-Intensive Systems This page intentionally left blank Estimating Software-Intensive Systems Projects, Products, and Processes Richard D. Stutzke Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City The SEI Series in Software Engineering Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the desig- nations have been printed with initial capital letters or in all capitals. Microsoft, Microsoft Excel, Microsoft Office, Microsoft PowerPoint, Microsoft Word, MS-DOS, Visual Basic, and Windows are registered trade- marks of Microsoft Corporation. CMM, CMMI, Capability Maturity Model, Capability Maturity Modeling, and Carnegie Mellon are registered in the U.S. Patent and Trademark Office by Carnegie Mellon University. SEI, SEPG, Team Software Process, and TSP are service marks of Carnegie Mellon University. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quan- tity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more informa- tion, please contact: U. S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside the U. S., please contact: International Sales [email protected] Visit us on the Web: www.awprofessional.com Library of Congress Number: 2004116955 Copyright © 2005 Pearson Education, Inc. All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the pub- lisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photo- copying, recording, or likewise. For information regarding permissions, write to: Pearson Education, Inc. Rights and Contracts Department One Lake Street Upper Saddle River, NJ 07458 ISBN: 0-201-70312-2 Text printed in the United States on recycled paper at Courier in Westford, Massachusetts. First printing: April 2005 Contents Preface.................................................................................................................xv Acknowledgments.........................................................................................xxii About the Author...........................................................................................xxiv Part 1: The Essentials....................................................................................1 Chapter 1: Introduction ............................................................................................3 1.1 Reasons to Estimate and Measure .........................................................4 1.2 Specific Quantities to Estimate and Measure .......................................7 1.3 The Nature of Estimation ........................................................................8 1.4 Unprecedented Systems ........................................................................15 1.5 Why Software Is Especially Hard to Estimate ....................................18 1.6 APractical Approach .............................................................................20 1.7 Recommended Reading ........................................................................23 1.8 Summary .................................................................................................23 Chapter 2: Planning a Warehouse Inventory System .......................................27 2.1 Warehouse Inventory Management System ......................................28 2.2 Recording the Information ...................................................................30 2.3 Discussion of the Example ....................................................................35 2.4 Doing Better: APlanning Workbook ...................................................44 2.5 Recommended Reading ........................................................................47 2.6 Summary .................................................................................................47 Chapter 3: ABasic Estimating Process: The Linear Method............................49 3.1 Criteria for “Good” Estimates...............................................................50 3.2 Types of Resources..................................................................................53 3.3 Proxy-Based Estimation.........................................................................54 3.4 The Linear Method: ASimple Process.................................................57 3.5 Using the Linear Method.......................................................................64 3.6 Documenting Your Estimates...............................................................69 v vi Contents 3.7 Standard Forms.......................................................................................73 3.8 Managing Your Information.................................................................76 3.9 Recommended Reading.........................................................................78 3.10 Summary................................................................................................79 Chapter 4: Measurement and Estimation ...........................................................81 4.1 Reasons to Measure ...............................................................................82 4.2 Measuring Size and Productivity (Direct and Indirect Measures) ..83 4.3 Criteria for “Good” Measures ..............................................................91 4.4 Operational Definitions .........................................................................93 4.5 Choosing Useful Measures ..................................................................97 4.6 Recommended Reading ........................................................................99 4.7 Summary ...............................................................................................101 Chapter 5: Estimating Techniques ......................................................................103 5.1 Expert Judgment: The Delphi Technique ..........................................104 5.2 Additive and Multiplicative Analogies .............................................108 5.3 Program Evaluation and Review Technique (PERT) .......................112 5.4 An Example: Using PERT Values .......................................................115 5.5 Using the PERT Values to Estimate Risk Reserve ............................117 5.6 Algorithmic Analogy Estimation .......................................................120 5.7 Recommended Reading ......................................................................123 5.8 Summary ..............................................................................................124 Chapter 6: Estimating Annual Maintenance Costs .........................................125 6.1 The Maintenance Process ....................................................................125 6.2 Building the Estimation Model ..........................................................135 6.3 Calibrating the Model .........................................................................141 6.4 Tracking and Updating .......................................................................142 6.5 Improving the Estimation Model .......................................................144 6.6 Recommended Reading ......................................................................149 6.7 Summary ...............................................................................................151 Part 2: The Details.....................................................................................153 Chapter 7: Preparing to Estimate (Precursors of Estimation) ........................155 7.1 The Precursors of Estimation ..............................................................156 7.2 How to Understand the Overall Job: The Key Diagrams ...............157 7.3 The Operational Concept ....................................................................159 Contents vii 7.4 Identifying Products and Services .....................................................162 7.5 Product Requirements .........................................................................165 7.6 Product Architecture ...........................................................................171 7.7 Project Goals and Constraints ............................................................174 7.8 Recommended Reading ......................................................................177 7.9 Summary ...............................................................................................177 Chapter 8: Estimating Software Size: The Basics ............................................179 8.1 The Sizing Process ................................................................................180 8.2 Example: Using the Operational Concept ........................................186 8.3 Sizing Hardware ..................................................................................191 8.4 Accounting for Size Growth and Volatility ......................................194 8.5 Tracking Size .........................................................................................196 8.6 Implementation Guidance ..................................................................203 8.7 Recommended Reading ......................................................................205 8.8 Summary ...............................................................................................205 Chapter 9: Estimating Software Size: The Details ..........................................207 9.1 Requirements ........................................................................................208 9.2 UML-Based Sizing and Use Case Points ...........................................209 9.3 Application Points ...............................................................................213 9.4 Web Objects and Internet Points ........................................................216 9.5 Function Points .....................................................................................217 9.6 Simplified Ways to Count Function Points .......................................228 9.7 Object-Oriented Size Measures ..........................................................238 9.8 Defining Source Lines of Code (SLOC) .............................................239 9.9 Estimating New Code .........................................................................244 9.10 Sizing Reused Source Code ..............................................................251 9.11 “Sizing” Commercial Off-the-Shelf Software Components .........264 9.12 The COCOTS Model ..........................................................................265 9.13 Recommended Reading ....................................................................267 9.14 Summary .............................................................................................270 Chapter 10: Production Processes (Project Life Cycles) .................................273 10.1 Elements of a Project Life Cycle Model ...........................................274 10.2 The Spectrum of Software Life Cycles ............................................275 10.3 Choosing an Appropriate Project Life Cycle ..................................287 10.4 Extending the Basic Development Life Cycle Models ..................288 10.5 Production and Delivery Activities .................................................299 10.6 Recommended Reading ....................................................................304 10.7 Summary .............................................................................................305 viii Contents Chapter 11: Bottom-Up Estimating and Scheduling .......................................307 11.1 Summary of the Process ....................................................................308 11.2 The Work Breakdown Structure .......................................................310 11.3 Creating Your WBS ............................................................................315 11.4 Scheduling ..........................................................................................320 11.5 Building the Network: Cards on the Wall Method ........................332 11.6 Recommended Reading ....................................................................337 11.7 Summary .............................................................................................338 Chapter 12: Top-Down Estimating and Allocation .........................................341 12.1 Relating Effort, Duration, and Staffing ...........................................342 12.2 Planned Versus Actual Availability .................................................346 12.3 Schedule Compression ......................................................................349 12.4 Allocating Effort and Time ................................................................352 12.5 Some Examples ..................................................................................369 12.6 Recommended Reading ....................................................................373 12.7 Summary .............................................................................................373 Chapter 13: Parametric Models ...........................................................................377 13.1 Types of Parametric Models .............................................................377 13.2 Core Effort and Schedule ..................................................................378 13.3 ASimple Parametric Model ..............................................................380 13.4 Adding Missing Phases and Activities ............................................382 13.5 Adjusting for Different Characteristics ...........................................383 13.6 Handling Size, Cost, and Schedule Constraints ............................387 13.7 Evaluating a Hardware/Software Trade ........................................389 13.8 Calibrating Parametric Models ........................................................391 13.9 Parametric Models for Hardware Costs .........................................401 13.10 Selecting an Automated Estimation Tool ......................................403 13.11 Helping Nonestimators Provide Good Parameter Values ..........405 13.12 Recommended Reading ..................................................................417 13.13 Summary ...........................................................................................418 Chapter 14: Estimating Risk Reserves ...............................................................421 14.1 Concepts ..............................................................................................422 14.2 The Risk Management Process .........................................................424 14.3 Identifying Risks and Mitigation Actions .......................................426 14.4 Analyzing and Prioritizing Risks: Risk Impact ..............................433 14.5 Calculating the Risk Reserve ............................................................438 14.6 Planning: Deciding to Defer Mitigation Tasks ...............................440 14.7 Tracking and Updating .....................................................................443 Contents ix 14.8 Other Approaches ..............................................................................443 14.9 Recommended Reading ....................................................................444 14.10 Summary ...........................................................................................445 Chapter 15: Calculating Cost and Price: The Basics ........................................447 15.1 Direct and Indirect Costs ...................................................................448 15.2 Calculating Direct Costs ....................................................................449 15.3 Calculating Indirect Costs .................................................................451 15.4 Profit and the “Fee Rate” ...................................................................454 15.5 Calculating the Loaded Cost ............................................................454 15.6 Management Reserves ......................................................................455 15.7 Cash Flow and Interest Costs ...........................................................456 15.8 Opportunity Cost ...............................................................................458 15.9 Determining the Selling Price for a Product6 .................................459 15.10 Evaluating the Total Ownership Cost ...........................................461 15.11 Evaluating a Product or Project ......................................................464 15.12 Reducing the Cost or Price ..............................................................466 15.13 The Need for Multiple Models .......................................................470 15.14 Recommended Reading ..................................................................471 15.15 Summary ...........................................................................................472 Part 3: Closing the Feedback Loop........................................................475 Chapter 16: Collecting Data: Basics ...................................................................477 16.1 Why Should You Even Collect Historical Data? ............................477 16.2 Collecting Data ...................................................................................478 16.3 Data Collection Templates ................................................................479 16.4 Automating Data Collection and Analysis .....................................500 16.5 Collecting Effort and Cost Data ......................................................500 16.6 Recommended Reading ....................................................................502 16.7 Summary .............................................................................................503 Chapter 17: Tracking Status .................................................................................505 17.1 Assessing Status .................................................................................506 17.2 Tracking Test Status ...........................................................................507 17.3 Tracking Size and Productivity ........................................................513 17.4 Tracking Size with Error Bars ...........................................................516 17.5 Trendlines ............................................................................................517 17.6 Regression Fitting ..............................................................................519 17.7 Other Ways to Detect Trouble ...........................................................521 17.8 Recommended Reading ....................................................................523 17.9 Summary .............................................................................................523

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.