6.3 Team Software ProcessSM


Methods for cost analysis are formulas, equations, and models to measure and quantify the effort, cost, and time of software process improvement (SPI) methods. Six cost models have been designed for the SPI methods we will examine here. Cost models are presented for the Software Inspection Process, Personal Software Process SM , and Team Software Process SM , as well as the Software Capability Maturity Model , ISO 9001, and Capability Maturity Model Integration . Cost analysis or quantifying the costs of a SPI method is an essential component of SPI and return on investment (ROI) of SPI. Not only is cost necessary for determining how much you need to spend for SPI or for input into an ROI equation, but knowing the cost of a SPI method is an integral part of the SPI method itself. Knowing costs is what it takes to successfully implement a SPI method and how to successfully manage a SPI initiative. In fact, knowing the cost of a SPI method indicates that you know the component parts of the SPI method. It also means you are familiar with the risks of implementing the SPI method and how to eliminate the obstacles. Knowing the cost of a SPI method certainly qualifies you as a professional in your field.

The major costs of a SPI method include education, process design, training, and implementation effort. Appraisal preparation, the appraisal itself, and any corrective action from appraisals are major cost items as well. The cost models presented here only address two major portions of the cost equation: implementation effort and process design. Why? An in-depth analysis of implementation effort is necessary to establish a foundation for cost analysis. In other words, you need to understand how costs relate to the SPI methods themselves . This chapter depicts how the cost models were designed and how they relate to the overall costs of each SPI method. The intention is to provide you with the skills to extend, adapt, and tailor these cost models for your organization. Furthermore, the intention is to show you how to design cost models for your own unique SPI method.

6.1 Software Inspection Process

The Software Inspection Process is a six-stage method for identifying defects. The six stages are planning, overview, preparation, meeting, rework , and follow-up. The planning stage is performed by a moderator in about 30 minutes for each pass through the Software Inspection Process. The overview stage is attended by the moderator, work product author, and all inspectors in about one hour for each pass. The preparation stage is performed by inspectors and takes about one hour. The meeting stage is attended by all participants and takes about two hours. The rework stage is performed by the work product author in about one hour . The follow-up stage is performed by the moderator in about 30 minutes. The total time required for a single pass through the Software Inspection Process is about 17 hours. Thus, the cost of the Software Inspection Process is the number of inspections times the sum of the effort for each role. The roles include the moderator, participants (team size), and inspectors (team size less one). The work product author also participates. Figure 19 illustrates the cost model for the Software Inspection Process.

click to expand
Figure 19: Cost Model for Software Inspection Process

The cost model for the Software Inspection Process consists of three variables or inputs. They are product size, review rate, and team size. The first two are combined to determine the number of times the Software Inspection Process must be used. Product size refers to the volume of the software product that must be inspected. For instance, the analysis phase may produce 10 requirements, and the design phase may produce 100 diagrams. The coding phase may produce 1,000 lines of code, and the testing phase may produce 10 test cases. The review rate refers to how fast the work products are inspected. For instance, suppose we inspect 1 requirement, 10 diagrams, 100 lines of code, and 1 test case per hour. The number of times the Software Inspection Process must be used is five for the requirements, five for the design, five for the code, and five for the tests. This is a total of 20 inspections. We have already determined that each pass through the Software Inspection Process takes 17 hours, so the total effort for applying the Software Inspection Process to this project is 340 hours or 340 hours is 8.5 staff weeks.

That seems like an unreasonable amount of time. However, the Software Inspection Process yields a minimum of 1 major defect per inspection hour, so our 340 hours will yield 340 major software defects. It would require 3,400 hours of software testing to yield the same number of defects or 34,000 hours of software maintenance to fix them after product release, at a very minimum. The choice is yours ” 340 hours for the Software Inspection Process or at least 34,000 hours for software maintenance. One last caution: reducing Software Inspection Process costs by increasing the review rates dramatically reduces its effectiveness. In other words, faster inspections reduce the number of software defects yielded to under one per hour. At the risk of sounding biased , it is important to note that individual reviews may be just as effective, and automated static analysis could one day replace the Software Inspection Process and individual reviews altogether.




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