waltzing with branches chris oldwood agile on the beach

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]

Upload: hilary-lang

Post on 20-Jan-2018

215 views

Category:

Documents


0 download

DESCRIPTION

Another cult is born… https://twitter.com/jezhumble/status/

TRANSCRIPT

Waltzing with BranchesWaltzing with Branches

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

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

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

Another cult is born…Another cult is born…

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

Read the small print!Read the small print!

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

Waltzing with BearsWaltzing with Bears

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

“RISK MANAGEMENT IS PROJECT MANAGEMENT FOR ADULTS”

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

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

Risk: Loss of ProductivityRisk: Loss of Productivity

Risk: Loss of ConfidenceRisk: Loss of Confidence

BranchingBranching

MergingMerging

Integration/Development Integration/Development BranchBranch

1 2 3 4 5

Release BranchRelease Branch

3 4 5 6 7

A B

Stable

Volatile

Branching From a LabelBranching From a Label

3 4 5 6 7

A B

v1 X Y

v1.1

Feature/Task/Private BranchFeature/Task/Private Branch

3 4 5 6 7

A B C

More Stable

More Volatile

ShelvingShelving

1 2 4 5 6

3

Integration PainsIntegration Pains

3 4 5 6 7

X Y Z

A B

Cherry PickingCherry Picking

3 4 5 6 7

A CB

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

1a 2 1b 3 1c

Always Ready to Ship

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

Gatekeeper WorkflowsGatekeeper Workflows

3 4 5 6 7

X Y

BAlice

Bob

C

GK

Z

D

Manual Checks & BalancesManual Checks & Balances

AutomationAutomation

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.

Questions?Questions?

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