Purpose
Build Status helps the team review product builds statistics, such as the number of attempted builds, the number that
were successful, and the number that failed.
Build status is an indicator of project health. Impacts of failed builds include:
-
Development blockages - New code cannot be integrated and tested. Developers have to devote time to debug the
build, impacting overall productivity.
-
Less Frequent Integration - When builds frequently fail, the continuous integration cycle is impacted. Developers
wait longer to integrate their code, and the risk of introducing more integration issues increases.
-
Inability to Assess Progress/ Status - Developers may be creating code, but broken builds limit the ability of the
team to measure their true progress.
Monitoring trends in Build Status over time helps the team identify how successfully they are adopting continuous
integration best practices.
Definition
Count (in each iteration):
-
Number of Failed builds
-
Number of Passed builds
-
Number of Attempted builds
Analysis
A good way to monitor Build Status is with a bar chart. Plot the number of Failed, Passed, and Attempted builds on the
Y axis and iterations on the X axis.
Expected trend - The number of attempted builds equals the number of passed builds. This trend
remains stable or, the number of passed builds is increasing.
Number of passed builds decreases over time - Make sure the code has been tested before build
integration. Perform impact analysis to identify all dependencies.
Generally a high or increasing number of failures (especially later in a project cycle) might be indicating a problem
that should be investigated. Confirm that developers are integrating small change sets frequently, following best
practices of Continuous Integration. Automate the build process so that it is fast and repeatable and so that issues
are identified and conveyed to the appropriate person for resolution as quickly as possible.
Following is an example of a Build Status chart, which shows the number of builds passed and failed.
Frequency and reporting
Build status data should be collected each day of the iteration and reviewed during the iteration assessment to help
identify trends.
Collection and reporting tools
IBM® Rational® Team Concert®collects Build Status data. IBM® Rational® Insight® reports on this metric.
|