The development process consists of adding new functionality without breaking existing functionality. Work has to be divided into small incremental steps that can be typically accomplished and code-reviewed in one day. Even large-scale rewrites should be made incremental. Every line of code written or modified undergoes peer review . The smallest team must contain at least two programmers so that they can code-review each other s changes.
Modification change the top-level objects and the overall flow of control first.
If necessary, use stubs, or fake new functionality using old implementation.