The ability to promote new software components and source code changes quickly and easily into a fully automated test and build cycle is crucial to assuring quick feedback, team productivity, and software quality. Mastery of these release practices and supporting tools are hallmarks of high-mastery Agile teams. The key practices that comprise this releasing discipline and need to be assessed and measured are:
- Definition of Done: Ensures that completed work is ready to release
- No Bugs: Allows you to release your software without a separate testing phase
- Version Control: Allows team members to work cohesively
- Ten-Minute Build: Builds a tested release package in under 10 minutes
- Continuous Integration: Prevents a long, risky integration phase
- Lightweight Documentation: Decreases cost while increasing documentation accuracy
Assessing and measuring a team’s maturity in managing source code versions across multiple developers, while ensuring continuous integration so that each software build is a candidate software release, is critical to maturing a team’s software execution agility.