Estimating Software-Intensive Systems
Glen Alleman MSSM
Vetern, Applying Systems Engineering Principles, Processes & Practices to Increase the Probability of Program Success for Complex Systems in Aerospace & Defense, Enterprise IT, and Process and Safety Industries
Numerous conjectures exist about the waste of software project estimates. Most are based on personal opinions divorced from the business processes of writing software for money.
From the Introduction of this book
Reasonable estimates are crucial to project (and product) success. Estimates provide information to make decisions and define feasible performance objectives and plans. Measurements provide data to gauge adherence to performance specifications and plans, make decisions, revise designs and plans, and improve future estimates and processes.
Engineers use estimates and measurements to evaluate the feasibility and affordability of proposed products, choose among alternative designs, assess risk, and support business decisions. Engineers and planners estimate the resources needed to develop, maintain, enhance, and deploy a product. Project planners use the estimated staffing level to identify required facilities.
Planners and managers use resource estimates to compute project costs and schedules and prepare budgets and plans. Estimates of product, project, and process characteristics provide "baselines" to assess progress in project execution. Managers compare estimates and actual values to identify deviations from the project plan and understand the causes of the variation.
Engineers compare estimates of the technical baseline to observed product performance to decide if the product meets its functional and operational requirements. Process capability baselines establish norms for process performance. Managers use these norms to control the process and detect compliance problems, and process engineers use capability baselines to improve the production process.
Wrong estimates affect everyone associated with the project - the engineers and managers, the customer who buys the product, and sometimes even the company's stockholders responsible for delivering the software. Only complete or accurate resource estimates for a project mean that the project may have enough time and money to complete the required work.
领英推荐
If you work in a domain where none of these conditions are in place, then by all means don't estimate.
If you recognize some or all of these conditions, here's a summary of the reasons to estimate and measure from the book.
Product Size, Performance, and Quality
Project Effort, Cost, and Schedule—yes, Virginia, real business managers need to know when they'll be done, how much it will cost, and what they'll deliver on that day for that cost.?And yes, Virginia, there is no Santa Claus.
Process Capability and Performance