EXTREME PROGRAMMING FROM A CMM PERSPECTIVE
Mark C. Paulk, Software Engineering Institute
What is Extreme Programming (XP)?
What is Software Capability Maturity Model (SW-CMM)?
How XP can help achieve SW-CMM goals?
| CMM Level | KPA | Purpose | Satisfaction | Method |
|---|---|---|---|---|
| 1.Initial | ||||
| 2.Repeated | Requirements Management | Common Understanding between client and team | Largely | constant feedback from client; on-site customer |
| SW Project Planning | Reasonable planing | Largely | Planning Game - plan early; Small Release - incremental lifecycle | |
| SW project tracking and oversight | Adequate visibility into actual progress | Largely | "Big Visual Chart"; Project Velocity; Small Releases | |
| SW subcontract management | Efficient and qualified subcontractors | |||
| SW Quality Assurance | Management & Product Visibility | Partially | Pair-Programming - Peer pressure leads to conformance to standards | |
| SW Configuration Mgmt | Maintain SW integrity throughout development | Partially | Collective Ownership; Small Releases; Continuous Integration | |
| 3.Defined | Organization Process Focus | Organization responsiblity to improve overall SW process capabilities | Partially | Focus on the team instead of organization |
| Organization Process definition | Maintain usable set of SW processes | Partially | XP-related sources eg. books, journals, websites, etc | |
| Training Programme | Developing individual's skills and knowledge | |||
| Integrated SW Mgmt | Integration of SW engineering and mgmt activities | |||
| SW Product Engineering | Use well-defined SW eng process to make SW consistant | Largely | metaphor; simple design; refactoring; standard coding; unit and functional testing | |
| Intergroup Coordination | Active participation within team to satisfy client's needs | Largely | onsite customer; pair-programming | |
| Peer Reviews | Identify defects early | Largely | Pair-programming | |
| 4.Managed | Quantitative Process Mgmt | Quantitatively control SW performance | ||
| SW Quality Managementt | Achieve specific quality goals | |
||
| 5.Optimizing | Defect Prevention | Identify and prevent defects | Partially | Pair-programming; Rapid feedback |
| Technology of Change Mgmt | Introduce new technologies in an orderly manner | |
||
| Process Change Mgmt | Improve SW quality and productivity, decrease product-development time | |||
Cons of XP in CMM
Conclusion
The SW-CMM and XP are complementary. The SW-CMM tells the organization WHAT to do in general terms, while the XP tells the organization HOW to implement the model. Organizations should capture good XP and CMM values while incorporating some common-sense while developing the System. By doing so, the two methods can create synergy, particularly in conjunction with other good engineering and management practices.