|
It is very important to have daily builds of any and all
available code. While this can appear to be
overkill, it serves several important functions.
- Fast Quality Check - The most important reason to do
daily builds is to be able to test the prior day's
changes. It is crucial to catch problems as
early as possible, ideally the same day, rather than
let them accumulate over days or weeks.
- Ensures Buildable Check-ins - Another critical
reason for daily builds is to ensure that the code
repository is always buildable. It is very easy
for people to break the build, which tends to stop all
other developers as soon as they sync their
workspaces.
- Cross-platform checks - In multi-platform
environments, developers typically do their work and
local tests on one or a few platforms. This can
easily result in problems on other platforms, so doing
a daily build on all environments will root out these
issue quickly. This is particularly important
because some platform issues require component
redesign to work properly and this should be done as
early as possible.
Good automated regression tests are required for this
to work properly, so building a automated test framework
should be an early goal of the QA group, even before they
have a product to test.
Another facet of daily builds is to encourage frequent
check-in, ideally daily. This generally forces
developers to make changes in small, digestible chunks
that are easily understood and managed. This isn't
always possible if major changes are going on, but it
should be the goal.
|
|