28
Waltzing with Waltzing with Branches Branches Chris Oldwood Chris Oldwood Agile on the Beach 2015 Agile on the Beach 2015 @chrisoldwood / @chrisoldwood / [email protected] [email protected]

Waltzing with Branches [Agile o/t Beach]

Embed Size (px)

Citation preview

Page 1: Waltzing with Branches [Agile o/t Beach]

Waltzing with BranchesWaltzing with Branches

Chris OldwoodChris OldwoodAgile on the Beach 2015Agile on the Beach 2015

@chrisoldwood / @chrisoldwood / [email protected]@cix.co.uk

Page 2: Waltzing with Branches [Agile o/t Beach]

Cargo Cult Software Cargo Cult Software EngineeringEngineering

““They go through the motions of looking like They go through the motions of looking like effective organizations that are stylistically effective organizations that are stylistically similar. But without any real understanding similar. But without any real understanding of why the practices work […]” of why the practices work […]”

-- -- Steve McConnellSteve McConnell

Page 3: Waltzing with Branches [Agile o/t Beach]

Another cult is born…Another cult is born…

https://twitter.com/jezhumble/status/400071665482088448

Page 4: Waltzing with Branches [Agile o/t Beach]

Read the small print!Read the small print!

https://twitter.com/jezhumble/status/400071665482088448

Page 5: Waltzing with Branches [Agile o/t Beach]

Waltzing with BearsWaltzing with Bears

Page 6: Waltzing with Branches [Agile o/t Beach]

<<<<<<<<<<<<<<<<<<<<<<<<Knox in box.Knox in box.Fox in socks.Fox in socks.Knox on foxKnox on foxin socks in box.in socks in box.========================Socks on KnoxSocks on Knoxand Knox in box.and Knox in box.Fox in socksFox in sockson box on Knox.on box on Knox.>>>>>>>>>>>>>>>>>>>>>>>>

Page 7: Waltzing with Branches [Agile o/t Beach]

“RISK MANAGEMENT IS PROJECT MANAGEMENT FOR ADULTS”

Page 8: Waltzing with Branches [Agile o/t Beach]

Branching is a technique for Branching is a technique for managing risk, but…managing risk, but…

Page 9: Waltzing with Branches [Agile o/t Beach]

Branching is Branching is not the onlynot the only technique for managing risktechnique for managing risk

Page 10: Waltzing with Branches [Agile o/t Beach]

Risk: Loss of ProductivityRisk: Loss of Productivity

Page 11: Waltzing with Branches [Agile o/t Beach]

Risk: Loss of ConfidenceRisk: Loss of Confidence

Page 12: Waltzing with Branches [Agile o/t Beach]

BranchingBranching

Page 13: Waltzing with Branches [Agile o/t Beach]

MergingMerging

Page 14: Waltzing with Branches [Agile o/t Beach]

Integration/Development Integration/Development BranchBranch

1 2 3 4 5

Page 15: Waltzing with Branches [Agile o/t Beach]

Release BranchRelease Branch

3 4 5 6 7

A B

Stable

Volatile

Page 16: Waltzing with Branches [Agile o/t Beach]

Branching From a LabelBranching From a Label

3 4 5 6 7

A B

v1 X Y

v1.1

Page 17: Waltzing with Branches [Agile o/t Beach]

Feature/Task/Private BranchFeature/Task/Private Branch

3 4 5 6 7

A B C

More Stable

More Volatile

Page 18: Waltzing with Branches [Agile o/t Beach]

ShelvingShelving

1 2 4 5 6

3

Page 19: Waltzing with Branches [Agile o/t Beach]

Integration PainsIntegration Pains

3 4 5 6 7

X Y Z

A B

Page 20: Waltzing with Branches [Agile o/t Beach]

Cherry PickingCherry Picking

3 4 5 6 7

A CB

Page 21: Waltzing with Branches [Agile o/t Beach]

No Branch (Feature No Branch (Feature Toggles)Toggles)

1a 2 1b 3 1c

Always Ready to Ship

Page 22: Waltzing with Branches [Agile o/t Beach]

Continuous Integration is a Continuous Integration is a mindset, not a tool.mindset, not a tool.

Page 23: Waltzing with Branches [Agile o/t Beach]

Gatekeeper WorkflowsGatekeeper Workflows

3 4 5 6 7

X Y

BAlice

Bob

C

GK

Z

D

Page 24: Waltzing with Branches [Agile o/t Beach]

Manual Checks & BalancesManual Checks & Balances

Page 25: Waltzing with Branches [Agile o/t Beach]

AutomationAutomation

Page 26: Waltzing with Branches [Agile o/t Beach]

Branching Branching cancan be used to be used to manage risk, but there are manage risk, but there are

more productive ways.more productive ways.

Page 27: Waltzing with Branches [Agile o/t Beach]

Questions?Questions?

Page 28: Waltzing with Branches [Agile o/t Beach]

Blog:Blog:http://chrisoldwood.blogspot.comhttp://chrisoldwood.blogspot.com

@chrisoldwood / @chrisoldwood / [email protected]@cix.co.uk

Articles:Articles:http://www.chrisoldwood.com/http://www.chrisoldwood.com/

articles.htmarticles.htm