Title: Software Process Improvement
1Software Process Improvement
2Software Organization Structure
3Three dimensions of process improvement model
Carnegie Mellon University
Capability Maturity Model
Team Software Process
Personal Software Process
4- 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
engineers work
5Capability Maturity Model
6Goals
- 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
7Cost and Benefits of CMM
- Hughes Aircraft (Fullerton, CA) spent 500K
(198790) - 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 (199297)
8Results of 34 Motorola Projects
9Personal Software Process (PSP) Principles
- 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
The right way is always the fastest and cheapest
way
10PSP steps
11PSP 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)
12Benefits of PSP
- Reduction in estimate (size and effort) error
- Reduction in compile time and test defects
- Improvement in productivity
- More effective use of an engineers time
13Size estimation error
(Data for 300 engineers went through PSP
training from Software Engineering Institute at
Carnegie Mellon University)
14Compile and test defects
(Data for 300 engineers went through PSP
training from Software Engineering Institute at
Carnegie Mellon University)
15Time allocation improvement
Test
Code
Design
Compile
(Data for 300 engineers went through PSP
training from Software Engineering Institute at
Carnegie Mellon University)
16Industry adoption of PSP
- Baan
- Boeing
- Motorola
- Teradyne
- IBM
17The Boeing company
18Benefits 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
19PSP for CS Students
- Find out their strength and weakness
-
- Understand reasons and benefits of good
engineering practice - Better understanding of software engineering
process
20References
- 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/