บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี
บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี
Cargo Cult Software engineeringhttps://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
XV 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 5GK
A B
X Y ZUp1
PuiC
บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี
Forking and Pull request
บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี
บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี
Continuous Integration
บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี
Continuous Integrationis 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 ?
บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี
บริษัท สยามํานาญกิจ จํากัด และเพ่ือนพ้องน้องพ่ี