Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Waltzing with Branches [Agile o/t Beach]

The use of branches within a version control system is a risk management technique. They are commonly used to minimise the risk of unanticipated side-effects when releasing critical changes to production, or to minimise the disruption to developer productivity when making changes to the base product. But branching is not the only means of managing risk and that is what this talk addresses – the forces that drives the use of branches, what are their problems and what are the alternatives.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

Waltzing with Branches [Agile o/t Beach]

  1. 1. Waltzing with BranchesWaltzing with Branches Chris OldwoodChris Oldwood Agile on the Beach 2015Agile on the Beach 2015 @chrisoldwood / gort@cix.co.uk@chrisoldwood / gort@cix.co.uk
  2. 2. Cargo Cult SoftwareCargo Cult Software EngineeringEngineering ““They go through the motions of looking likeThey go through the motions of looking like effective organizations that are stylisticallyeffective organizations that are stylistically similar. But without any real understandingsimilar. But without any real understanding of why the practices work […]”of why the practices work […]” ---- Steve McConnellSteve McConnell
  3. 3. Another cult is born…Another cult is born… https://twitter.com/jezhumble/status/400071665482088448
  4. 4. Read the small print!Read the small print! https://twitter.com/jezhumble/status/400071665482088448
  5. 5. Waltzing with BearsWaltzing with Bears
  6. 6. <<<<<<<<<<<<<<<<<<<<<<<< Knox in box.Knox in box. Fox in socks.Fox in socks. Knox on foxKnox on fox in socks in box.in socks in box. ======================== Socks on KnoxSocks on Knox and Knox in box.and Knox in box. Fox in socksFox in socks on box on Knox.on box on Knox. >>>>>>>>>>>>>>>>>>>>>>>>
  7. 7. “RISK MANAGEMENT IS PROJECT MANAGEMENT FOR ADULTS”
  8. 8. Branching is a technique forBranching is a technique for managing risk, but…managing risk, but…
  9. 9. Branching isBranching is not the onlynot the only technique for managing risktechnique for managing risk
  10. 10. Risk: Loss of ProductivityRisk: Loss of Productivity
  11. 11. Risk: Loss of ConfidenceRisk: Loss of Confidence
  12. 12. BranchingBranching
  13. 13. MergingMerging
  14. 14. Integration/Development BranchIntegration/Development Branch 1 2 3 4 5
  15. 15. Release BranchRelease Branch 3 4 5 6 7 A B Stable Volatile
  16. 16. Branching From a LabelBranching From a Label 3 4 5 6 7 A B v1 X Y v1.1
  17. 17. Feature/Task/Private BranchFeature/Task/Private Branch 3 4 5 6 7 A B C More Stable More Volatile
  18. 18. ShelvingShelving 1 2 4 5 6 3
  19. 19. Integration PainsIntegration Pains 3 4 5 6 7 X Y Z A B
  20. 20. Cherry PickingCherry Picking 3 4 5 6 7 A CB
  21. 21. No Branch (Feature Toggles)No Branch (Feature Toggles) 1a 2 1b 3 1c Always Ready to Ship
  22. 22. Continuous Integration is aContinuous Integration is a mindset, not a tool.mindset, not a tool.
  23. 23. Gatekeeper WorkflowsGatekeeper Workflows 3 4 5 6 7 X Y B Alice Bob C GK Z D
  24. 24. Manual Checks & BalancesManual Checks & Balances
  25. 25. AutomationAutomation
  26. 26. BranchingBranching cancan be used tobe used to manage risk, but there aremanage risk, but there are more productive ways.more productive ways.
  27. 27. Questions?Questions?
  28. 28. Blog:Blog: http://chrisoldwood.blogspot.comhttp://chrisoldwood.blogspot.com @chrisoldwood / gort@cix.co.uk@chrisoldwood / gort@cix.co.uk Articles:Articles: http://www.chrisoldwood.com/articles.htmhttp://www.chrisoldwood.com/articles.htm

×