110 likes | 217 Views
The Requirements Problem. Goals of Software Development. Produce products on time Produce products within budget Produce quality products that meet the real needs of customers. Who Are the Customers?. An external entity who buys our product off-the-shelf
E N D
Goals of Software Development • Produce products on time • Produce products within budget • Produce quality products that meet the real needs of customers
Who Are the Customers? • An external entity who buys our product off-the-shelf • An external entity with whom we have contracted to develop a product • An internal entity for whom we have been requested to develop a product
US Software Projects(Standish Group [1994]) • $250 billion spent each year on software projects (175,000 such projects) • Average project cost • Large company - $2,322,000 • Medium company - $1,331,000 • Small company - $434,000 • 31% of projects are canceled before completion • 52.7% of projects will cost 189% of original estimates
Root Causes of Project Failure • Lack of user input • Incomplete requirements and specifications • Changing requirements and specifications
Factors Influencing Success • User involvement • Executive support • Clear statement of requirements
Cost to Repair a Defect Stage .1-.2 Requirements time .5 Design 1 Coding 2 Unit test 5 Acceptance test 20 Maintenance Relative Cost to Repair
Potential Costs Associated with Repairing Defects • Respecification • Redesign • Recoding • Retesting • Change orders (specifying how to change) • Corrective actions (undoing damage) • Scrap (unnecessary work items)
Potential Costs Associated with Repairing Defects (cont’d) • Recall of defective versions • Warranty costs • Product liability • Service costs for customer visits • Documentation
Summary • Requirements are likely to be the most common class of error • Requirements are likely to be the most expensive errors to fix