430 likes | 995 Views
Software Process Improvement. Lecture 9. Software Organization Structure. Three dimensions of process improvement model Carnegie Mellon University. Capability Maturity Model. Team Software Process. Personal Software Process. Capability Maturity Model (CMM)
E N D
Software Process Improvement Lecture 9
Three dimensions of process improvement model Carnegie Mellon University Capability Maturity Model Team Software Process Personal Software Process
Capability Maturity Model (CMM) Quality assurance, configuration management, requirement management. Team Software Process (TSP) How to produce quality products on schedule/budget How to guide and support team members Personal Software Process (PSP) How to measure, estimate and improve individual engineer’s work
Goals • Original goal: • Defense contracts would be awarded only to capable firms • Every Air Force contractor had to attain level 3 by 1998 • The CMM has now gone far beyond the limited goal of improving DoD software
Cost and Benefits of CMM • Hughes Aircraft (Fullerton, CA) spent $500K (1987–90) • Savings: $2M per year, moving from level 2 to level 3 • Raytheon moved from level 1 in 1988 to level 3 in 1993 • Productivity doubled • Return of $7.70 per dollar invested in process improvement • Motorola GED has used CMM (1992–97)
Personal Software Process (PSP) Principles The right way is always the fastest and cheapest way Design a plan based on historical data Provide measurement for progress Strive to make high quality products Prevent defects rather than fix defects If defects exist, find and fix them earlier
PSP steps • Personal measurement (PSP0) • gather real data (time, defects) • introduce coding standards • size measurement • Personal planning (PSP1) • estimate size and time for programs • schedule and task planning • Personal quality (PSP2) • practice design and code reviews • Scaling up (PSP3)
Benefits of PSP • Reduction in estimate (size and effort) error • Reduction in compile time and test defects • Improvement in productivity • More effective use of an engineer’s time
Size estimation error (Data for 300 engineers went through PSP training from Software Engineering Institute at Carnegie Mellon University)
Compile and test defects (Data for 300 engineers went through PSP training from Software Engineering Institute at Carnegie Mellon University)
Time allocation improvement Test Code Design Compile (Data for 300 engineers went through PSP training from Software Engineering Institute at Carnegie Mellon University)
Industry adoption of PSP Baan Boeing Motorola Teradyne IBM
Benefits of PSP in academia Software engineers develop programming styles when they first learn to write programs Educators need to expose students to the reality of software development Students need to be prepared technically and professionally before entering job market
PSP for CS Students Find out their strength and weakness Understand reasons and benefits of good engineering practice Better understanding of software engineering process
References Software engineering institute at Carnegie Mellon University http://www.sei.cmu.edu/index.html Introduction to the Personal Software Process by W. Humphrey Software Process Dashboard Initiatives http://processdash.sourceforge.net/