Chapter 7: Software Inspection Process ROI Methodology


6.3 Team Software Process SM

The Team Software Process SM is a method for teaching and operationalizing team building. It includes team working and project, quality, and life cycle management for groups of software engineers . The Team Software Process SM builds upon the software project and quality management principles of the Personal Software Process SM . The Team Software Process SM consists of six major phases. The six major phases are team launch, requirements, high-level design, implementation, release test, and postmortem. The Team Software Process SM also has many lower level processes and scripts. However, it is not necessary to describe them here.

Team launch consists of establishing product and business goals and assigning roles and defining team goals. Team launch includes producing a development strategy, building top-down and next -phase plans, and developing quality plans. Building bottom-up and balanced plans, risk assessments, and preparing management briefings and launch reports are also included. Finally, team launch consists of holding management reviews and performing a launch postmortem.

Requirements consist of a requirements process overview, needs statement review, and needs statement clarification . It includes requirements tasks , task allocation, requirements documentation, system test plan, and requirements inspection. It also includes a system test plan inspection, requirements update, user requirements review, and requirements baseline.

High-level design consists of a design process review, high-level design, design standards, design tasks, and task allocation. It includes a design specification, integration testing plan, and design document inspection. It also includes a test plan inspection, design update, and update baseline.

Implementation consists of an implementation process overview, implementation planning, task allocation, and detailed design. It includes a unit test plan, test development, and detailed design inspection. It also includes coding, code inspection, unit test, component quality review, and component release.

Release test consists of a test process overview, test development, build, integration, system test, and documentation. It includes a postmortem process overview, process data review, and role performance evaluation. It also includes a cycle report preparation and role evaluation preparation.

Software engineers exhibit a productivity of 5.9347 lines of code for every hour spent using the Team Software Process SM . This includes the team launch, requirements, high-level design, implementation, release test, and postmortem stages or phases. The equation can be simplified to lines of code divided by 5.9347. With over 20 major variations of the Team Software Process SM , individual mileage may vary. Figure 21 illustrates the cost model for the Team Software Process SM .

click to expand
Figure 21: Cost Model for Team Software Process SM

Software engineers require 168.5 hours to build a 1,000-line-of-code software product using the Team Software Process SM . It takes that same team 1,685 hours to build a 10,000-line-of-code system using the Team Software Process SM . This equation does not output programming time. It outputs the time spent in team launch, requirements, high-level design, implementation, release test, and postmortem. These figures indicate that a software project team can perform roughly six times faster than industry average. The team can do this while still performing state-of-the-art principles in software project, quality, and life cycle management ” and produce zero defects to boot.

Let's examine the total life cycle costs of using the Team Software Process SM . A 10,000-line-of-code system costs 1,685 hours using the Team Software Process SM . A 10,000-line-of-code system costs 105,100 hours without using any of the principles of the Team Software Process SM . This results in a productivity of 0.095 lines of code per hour. Therefore, using the Team Software Process SM results in a productivity increase of more than 62 times. In other words, software project, quality, and life cycle management do not require any unnecessary overhead. Combined with team-building and team-working principles, it does not add any additional burden to the project cost. In fact, it repeals project costs.

It is not the intention in this book to ignore decades of research into log-linear models for software cost estimation. These models exhibit diseconomies of scale for complexity and size . It is important to note that early log-linear models were calibrated on systems with millions and tens of millions of lines of code and, conversely, were completely ineffective for accurately modeling small systems. Systems in the modern era of meta-programming languages tend to be smaller. They range in the hundreds and even thousands of lines of code. The simple linear models exhibited in this book are well suited for the programming-in-the-small era in which we reside. In other words, simple linear models may be ideally suited for estimating modern software projects.




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