Daily Build

Daily builds is a well known software engineering best practice. It is the practice of each day doing a software build of the latest version of a program. Performing daily builds helps ensure that developers can work knowing with reasonable certainty that any new bugs that show up are a result of their own work done within the last day. Daily builds typically include a set of tests, sometimes called a smoke test. These tests are included to assist in determining what may have been broken by the changes included in the latest build. The critical piece of this process is to include new and revised tests as the project progresses.

Here are some significant benefits of daily builds:

  • It minimizes integration risk. Developers are encouraged to commit their code as soon as it has been tested. This way their code does not get out of sync with the main development branch. Developers are also encouraged to get a fresh copy of the source code tree on a daily basis, or at least before starting each new feature.
  • It reduces the risk of low quality. Related to the risk of unsuccessful or problematic integration is the risk of low quality. By daily build, you bring the system to a known, good state, and then you keep it there. You simply don't allow it to deteriorate to the point where time-consuming quality problems can occur.
  • It supports to spot defects more easily. When the product is built and tested every day, it's easy to pinpoint why the product is broken on any given day.
  • It enhances progress visibility. Since the software is built daily, it is easy for the project manager to see which features are there and which ones are not. Clients have visibility into the process and are reassured that milestones will be met.
  • It improves team morale. Seeing a product work provides an incredible boost to morale. With daily builds, a bit more of the product works every day, and that keeps morale high.

Nova has been using many practices in terms of agile software development these years. By practice and summarization, we have gotten that daily build is one of the best practices which suit our best. In fact, daily build is a good way to ensure our code is progressing toward release. It benefits all team members, from developers to end users, as well as clients.

渝ICP备08003290号