Developers should be integrating
and releasing code into the code repository every few hours, when ever possible. In any case never hold onto changes
for more than a day. Continuous integration often avoids diverging or fragmented development efforts, where developers
are not communicating with each other about what can be re-used, or what could be shared. Everyone needs to work
with the latest version. Changes should not be made to obsolete code causing integration head aches.
Each development pair is
responsible for integrating their own code when ever a reasonable break presents itself. This may be when the unit tests all run at 100% or some smaller portion of the planned functionality is finished.
Only one pair integrates at any given moment and after only a few hours of coding
to reduce the potential problem set to almost nothing. |

Almost continuous integration
avoids or detects compatibility problems early. Integration is a "pay me now or pay me more later" kind
of activity. That is, if you integrate through out the project in small amounts you will not find your self trying
to integrate the system for weeks at the project's end while the deadline slips by. Always work in the context
of the latest version of the system. 
   |