Agile Glossary

Version Control

What is Version Control?

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

It must however be mentioned here for several reasons:

  • 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.

Thank you to our Annual Partners​

Join us today!

Agile Alliance offers many online and in-person events and workshops for our members. If you’re not currently a member, you can join now to take advantage of our many members-only resources and programs. LEARN MORE >

Get the latest Agile news!

  • This field is for validation purposes and should be left unchanged.

By subscribing, you acknowledge the Agile Alliance Privacy Policy, and agree to receive our emails.

Additional Agile Glossary Terms

Refactoring consists of improving the internal structure of an existing program's source code, while preserving its external behavior.
In the context of software development, build refers to the process that converts files and other assets under the developers' responsibility into a software product in its final or consumable form. The build is automated when these steps are repeatable, require no direct human intervention, and can be performed at any time with no information other than what is stored in the source code control repository.
A unit test is a short program fragment which exercises some narrow part of the product's source code and checks the results.
Definition of Ready involves creating clear criteria that a user story must meet before being accepted into an upcoming iteration. This is typically based on the INVEST matrix.
Definition of Ready involves creating clear criteria that a user story must meet before being accepted into an upcoming iteration. This is typically based on the INVEST matrix.
An Agile team frequently releases its product into the hands of end users, listening to feedback, whether critical or appreciative.
Pair programming consists of two programmers sharing a single workstation (one screen, keyboard and mouse among the pair). The programmer at the keyboard is usually called the "driver", the other, also actively involved in the programming task but focusing more on overall direction is the "navigator"; it is expected that the programmers swap roles every few minutes or so.

Help us keep the definitions updated

Ready to join Agile Alliance?

Unlock members-only access to online learning sessions, Agile resources, annual conference discounts, and more! And when you join, you’ll be supporting our member initiatives, regional events, and global community groups.

Privacy Preference Center

IMPORTANT: We have transitioned to a new membership platform. If you have not already done so, you will need to SET UP AN ACCOUNT on the new platform to establish your user profile. Your previous login credentials will not work until you do this set up.

When you see the login screen, choose “Set up Account” and follow the prompts to create your new account. You can choose to log in using your social credentials for either Google or Linkedin (recommended), or you can set up your account using an email address.