Chapter 14: Benefits


Costs are the amount of money that is necessary to implement one or more software process improvement (SPI) methods. Costs are the expenses associated with applying, using, and exploiting SPI methods. Costs are the resources that are necessary to deploy and institutionalize SPI methods in a software organization or firm. Costs or cost factors consist of training, process development, and product development. Appraisal preparation, appraisals , product development, inspections, tests, and maintenance are major costs. Training refers to SPI methods that rely on formal classroom training as the principal delivery mechanism for the SPI method. Process development refers to SPI methods that require organizations to design and develop policies and procedures. Product development refers to SPI methods that require the development of special work products or project artifacts for projects. Appraisal preparation refers to SPI methods that necessitate advanced preparation by software project members . Appraisal refers to SPI methods that require a formal assessment or audit of activities and artifacts to verify their use. Product development refers to the costs of analyzing, designing, and coding software products using software effort models. The inspection cost factor consists of SPI methods that use the Software Inspection Process. The test cost factor consists of the costs of testing software products for all SPI methods. Finally, the maintenance cost factor consists of the total life cycle costs of all SPI methods. Some costs entirely consist of training. Some costs are associated with expensive appraisals and audits . However, most SPI methods have common costs such as software effort.

13.1 Software Inspection Process

Let's begin by modeling the training costs for implementing the Software Inspection Process on a four-person project. The average market price for Software Inspection Process training is about $410 per person. The average length of time for Software Inspection Process training is 3 days or 24 business hours. At a minimum cost of $100 per hour , training time comes to $2,400. Add $410 and $2,400 and the total is $2,810 per person for Software Inspection Process training. Multiply $2,810 by four people and that comes to $11,240 to train four people to perform the Software Inspection Process.

Let's also assume our software effort is 5,088 hours to analyze, design, and code 10,000 lines of code. Multiply 5,088 by $100 per hour. Our software cost is now $508,800 to analyze, design, and code 10,000 lines of code.

Now let's examine the cost of implementing the Software Inspection Process by our four trained inspectors. Let's assume the project will develop 10,000 software source lines of code (SLOC), which is common for a modern Web project. (Inspections of requirements, designs, and tests drive the costs even higher, but are omitted for the sake of simplicity.) At a Software Inspection Process rate of 240 SLOC per meeting, that comes to approximately 41.67 meetings. (The optimal inspection rate is 120 SLOC per meeting, so we are lowering the cost and efficiency of inspections a little.) Software Inspection Process runs require 17 hours for planning, overviews, preparation, meetings, rework , and follow-up. We then multiply 41.67 by 17 for a total of 708.33 hours. Once again at $100 per hour, that comes to $70,833 for our four trained inspectors to perform the Software Inspection Process on 10,000 SLOC.

Now let's estimate the cost of software testing. Remember that the Software Inspection Process finds about one defect for every hour spent doing inspections, so we have probably nabbed 708 software defects by now. If we estimate that we started with 1,000 software defects, we have 292 software defects remaining after our nearly 42 Software Inspection Process runs. Let's further assume that our software testing process nabs two- thirds of the remaining 292 defects or 195 software defects. Let's also assume it takes 10 hours to find each of the 195 software defects. That comes to 1,950 software testing hours and at a rate of $100 per hour is $195,000 for software testing.

But we are not done yet. Now let's use our total life cycle cost model. The formula is software size multiplied by 10.51, less the inspection hours times 99, and less the test hours times 9. Our total life cycle cost for using the Software Inspection Process is 17,425.33 hours. If we subtract the 5,088 hours of software effort, 708 hours of inspection effort, and 1,950 hours of software testing effort, that leaves us with 9,679 hours in residual software maintenance costs, or $967,900. Table 2 illustrates the costs of the Software Inspection Process.

Table 2: Estimated Cost of Software Inspection Process

Factor

Cost

Training

$11,240

Development

$508,800

Inspections

$70,833

Testing

$195,000

Maintenance

$967,900

Total

$1,753,773

Now we are ready to estimate the complete costs of using the Software Inspection Process to produce 10,000 lines of code. Add $11,240 for training, $508,800 in software development costs, and $70,833 in Software Inspection Process costs. Also add $195,000 in software testing costs and $967,900 in software maintenance costs. The complete cost to use the Software Inspection Process to help produce 10,000 lines of code is $1,753,773.




ROI of Software Process Improvement. Metrics for Project Managers and Software Engineers
ROI of Software Process Improvement: Metrics for Project Managers and Software Engineers
ISBN: 193215924X
EAN: 2147483647
Year: 2004
Pages: 145

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net