Agile Version Control

By ingvald. Filed in EN, SW dev  |   
Tags:
Home del.icio.us this! Share this by email. Share on Facebook! Share on LinkedIn! Stumble Upon this! Tweet this! RSS 2.0 

The goal is to enable you to be more agile, i.e., to improve your ability to change and adjust.

Here’s what I think:

Mainline and CI

Branches and merging
  • Beware of feature branches, and kill them as soon as you can if you do use them. (One tip: feature toggle)
  • Branches: Merge from mainline every day if you have them.
  • Good naming goes for build code and infrastructure, too, so I’d prefer branch names like mainline, release, featureA, fixB
  • Limit branches agressively – they represent more work in progress (and you want less work in progress) including risk of big merges
  • Agile version control for multiple teams

    Illustration from Henrik's article

    Merging: merge down, copy up – always accept stabilizing changes, never impose destabilizing changes.

Inspiration:

Martin Fowler: articles on continuous integration

Henrik Kniberg: Agile version control with multiple teams

No Comments

  1. Ping from Ingvald Skaug (@ingvald)

Leave a Reply

Your email address will not be published. Required fields are marked *

Connect with Facebook

*