What is a Daily Build, which organisations use it and what are the benefits?
The (almost) daily software development process
In software development, a build is the process by which an application is automatically created. In a daily build, this process is performed very frequently – preferably every day. The daily build does not only include compilation including lexical, syntactic and semantic analysis, but also the execution of so-called smoke tests. The Smoke Test – also called Build Verification Test – is a module test that checks program functions. The combination of Daily Build and Smoke Test is abbreviated as DBST.
Ideally, the latest version of the application is available to the developers for further development activities after the daily build – which in some organisations also occurs at night and is therefore referred to as the nightly build.
Advantages Daily Build
A daily build is a component of incremental software development and offers the following advantages:
- Incompatibility and integration problems are quickly diagnosed.
- Future problems and errors that build on each other are avoided / reduced.
- Fast feedback on changes and errors is possible.
The use of daily builds is particularly useful in larger organizations, where many programmers work together on a single piece of software. In the past, scripts or Makefiles were mostly used to create daily builds. Nowadays, build automation servers are very popular, which can be activated manually, event-based or time-controlled.
Most daily builds are not published or released to customers. In terms of configuration management it is often “only” a revision or a version. For a release, the documentation usually has to be adapted and the change logs maintained. In addition, there may also be features in the daily build that have not yet been fully implemented, so that delivery only makes limited sense.
The Daily Build is also abbreviated as Daily in some organisations. This Daily has nothing in common with the Daily Scrum.