CM wiki web
CM and eXtreme Programing
Originally from UCM CentralWhile having a few drinks at the pub, a Software Engineer announced that Xtreme Programing would soon make SCM obsolete. An interesting observation, no doubt enhanced by one too many at the beer repository. However I have heard this before and I feel it would be appropriate to mention a few reasons why XP makes very little difference in the world of Configuration Management.
So What is eXtreme Programming ?
In a few words XP is heavily incremental software development process based on using up-front testing, more regular small releases and continuos integration. Its methodology aims to promote simplicity, communication, feedback and ultimately reduce traditional red tape. XP (according to inventor Kent Beck) is characterized by 12 practices:- Planning Game
- Small Releases
- Metaphor
- Simple Design
- Testing
- Continuous Integration
- Pair Programming
- Collective Ownership
- Refactoring
- 40-Hour Week
- On-Site Customer
- Coding Standards
What Xtreme Programming is not
XP is not the concept that developers should have so much freedom that 30 years of established best practices are thrown out the window. I think this could be fairly termed XSP i.e. Xtremely Stupid Programming.So does XP need CM ?
Unquestionably Yes! (and Kent Beck never said otherwise), SCM is as valuable in XP as any other Software Engineering model i.e. I doubt you could realistically see a serious software project working without the following fundamentals:- Managed source repository (i.e. supporting artefact sharing, security, branching etc).
- Change Visibility/Version Control (XP systems needs role back, XP developers need history etc).
- Mature Deployment Mechanisms (XP wants streamlining, XP wants automation).
- Stable Integration environments (Yes XP still needs integration tests).
- Stable production environments (In XP the business still comes first ... not developer flexibility).
- Management/QA metrics (analysis and forecasting are useful whether team is using XP or Not).

CmAndExtremeProgramming