บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Cargo Cult Software engineering
https://en.wikipedia.org/wiki/Cargo_cult_programming
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Google Culture
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Google Culture
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Google Culture
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
<<<<<<<<<<<
aaaaaaaaa
============
bbbbbbbbb
aaaaaaaaa
>>>>>>>>>>>
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Risk management
is
project management for adults !!
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Loss of productivity
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Loss of confidence
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Branching
is
a technique for managing risk
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Branching
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Merging
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Branching Strategies
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Merging Strategies !!
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Integration/development branch
1 2 3 4
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Integration/development branch
1 2 3 4
1 2 3 4
1 2 3 4
Team A
Team B
Team C
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
1 2 3 4
1 2 3 4
1 2 3 4
Team A
Team B
Team C
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Integration/development branch
1 2 3 4
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Release branch
4 5 6 7
A B
8
stable
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Branching from label
4 5 6 7
A B
8
stable
X
V 1 . 0
Y
V 1 . 1
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Feature/task/private branch
4 5 6 7 8
more stable
A B C
more change
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Shelving
4 5 6 7
A
8
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Integration pain !!
4 5 6 7 8
A B C
A B
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Cherry pick
4 5 6 7
A B
8
C
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
No branch (feature toggle)
1 A 2 1 B 3 1 C
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
No branch (feature toggle)
1 A 2 1 B 3 1 C
Always ready to ship
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Gatekeeper workflows
2 3 4 5
GK
A B
X Y Z
Up1
Pui
C
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Forking and Pull request
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Continuous Integration
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Continuous Integration
is a mindset, not a tool
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Tooling gives people
the opportunity to avoid taking
to each other
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Manual or Automation ?
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Branching can be used to
manage risk.
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
BUT there are more
productive ways.
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Choose ?
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Code change and Policy ?
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
What is your current
problem ?
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่

Working with branch