Steve Mushero line
Technology Advisor for Startups and Investors
Home

About Steve

Services

Clients

Resources

Contact

Developing Software -> Daily Build & Test
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.

 




Also See

"Steve provided by far the best requirements that we've ever received from a client... our COO and software team passes along their thanks"

- Engineering Team Manager