Version Control

Business Agility Office

Is the task of keeping a software system consisting of many versions and configurations well organized.

Version control is not strictly speaking an Agile “practice” insofar as it is now (fortunately) widespread in the industry as a whole. It is used in agile:

  • Though they are rare, one still occasionally stumbles across teams with outdated version control tools or practices, and even teams who haven’t adopted version control tools at all
  • Version control is not merely “good practice” but an enabler of a number of Agile practices, such as continuous integration
  • The Agile community leans toward particular types of tools and practices, namely the same as the Open Source community: systems that afford concurrent work (“merge” model rather than “lock”), and more recently favoring distributed over centralized models
  • It is therefore beneficial for an Agile team to explicitly reflect on its version control policies and infrastructure, and ensure that they and its engineering practices work harmoniously together.
« Back to Glossary Index