Pair Programming
All coding done by two people at one computer
Code review occurs simultaneous to coding, not in group sessions
Justified on grounds that code is better, less time lag until review, overall productivity better
Unit testing of code
Code each unit test first. Write the actual code to be tested second.
All code must be tested, none is accepted until it passes all unit tests.
Customer determines system-wide acceptance tests for each iteration.
Code Integration
Integrate new code with existing code often.
Developers should be integrating and releasing code into the code repository every few hours, whenever possible.
Never hold onto changes for more than a day.
Serialize access to existing code base. Only one programmer pair can integrate new code with existing released code at a time.