Developers
should be integrating and commiting 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 location to almost nothing. |
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 throughout 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.
|