Wired Magazine has an interesting article on “Extreme Programming.” Supposedly, the solo programmer pulling all-nighters on excessive caffein is out. In are 40 hour work weeks, group coordination, and two people per computer. But what about productivity cry the managers. According to the article, coders do more, do it faster, and do it with fewer bugs this way.
The 12 commandments of extreme programming
I _ The Planning Game
Meet with coders, managers, and the customer each week to schedule tasks for the next phase. Update the plan regularly.
II _ Small Releases
Put a simple system into production quickly, then release new versions on a short cycle.
III _ Metaphor
Create an analogy that expresses how the parts of the new system work.
IV _ Simple design
Design simply, and remove complexity at every stage.
V _ Testing
Write test programs that assure every portion of the code runs flawlessly before attempting a new task.
VI _ Refactoring
Edit the code to simplify, add flexibility, or remove redundancy.
VII _ Pair Programming
Write all code with two programmers at one machine.
VIII _ Collective Ownership
Permit anyone on the team to change code anywhere in the system at any time.
IX _ Continuous Integration
Bring components of the program together several times throughout each day to make sure they work in concert.
X _ 40-Hour Week
Strive to work no more than 40 hours a week. Never work overtime a second week in a row.
XI _ Onsite Customer
Include a real, live user on the team, available full-time to answer questions.
XII _ Coding Standards
Use agreed-upon styles and nomenclature to promote easy understanding of what the code does.