SlideShare a Scribd company logo
1 of 40
Download to read offline
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
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 ?
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่

More Related Content

What's hot (6)

Sck Mobile Application Security
Sck Mobile Application SecuritySck Mobile Application Security
Sck Mobile Application Security
 
Unhappiness Developer
Unhappiness DeveloperUnhappiness Developer
Unhappiness Developer
 
The Beauty of BAD code
The Beauty of  BAD codeThe Beauty of  BAD code
The Beauty of BAD code
 
Design pattern with Java 8
Design pattern with Java 8Design pattern with Java 8
Design pattern with Java 8
 
Automation test for Android
Automation test for AndroidAutomation test for Android
Automation test for Android
 
Continuous Delivery with fastlane
Continuous Delivery with fastlaneContinuous Delivery with fastlane
Continuous Delivery with fastlane
 

Viewers also liked

Startups: Attracting and Retaining Talent (updated 3/6/13)
Startups: Attracting and Retaining Talent (updated 3/6/13)Startups: Attracting and Retaining Talent (updated 3/6/13)
Startups: Attracting and Retaining Talent (updated 3/6/13)Patrick Seaman
 
Kaplowitch equity dos and donts
Kaplowitch equity dos and dontsKaplowitch equity dos and donts
Kaplowitch equity dos and dontsBFBootcamp
 
Common Entrepreneur Mistakes
Common Entrepreneur MistakesCommon Entrepreneur Mistakes
Common Entrepreneur MistakesBart Greenberg
 
Employee equity incentives
Employee equity incentivesEmployee equity incentives
Employee equity incentivesBart Greenberg
 
Building A Stable, Fundable Startup
Building A Stable, Fundable StartupBuilding A Stable, Fundable Startup
Building A Stable, Fundable Startupportlandten
 
10 Movies Every Entrepreneur Should Watch
10 Movies Every Entrepreneur Should Watch10 Movies Every Entrepreneur Should Watch
10 Movies Every Entrepreneur Should WatchLawTrades
 
Succession Planning using Equity Incentive Plan and ESOPs
Succession Planning using Equity Incentive Plan and ESOPsSuccession Planning using Equity Incentive Plan and ESOPs
Succession Planning using Equity Incentive Plan and ESOPswifilawgroup
 
Guaranteed vs Incentive Pay - What's the Right Balance?
Guaranteed vs Incentive Pay - What's the Right Balance?Guaranteed vs Incentive Pay - What's the Right Balance?
Guaranteed vs Incentive Pay - What's the Right Balance?The VisionLink Advisory Group
 
Negotiating as Consultant
Negotiating as ConsultantNegotiating as Consultant
Negotiating as ConsultantJamie Lee
 
Converting Employees to Owners: Employee Share Purchase Plans
Converting Employees to Owners: Employee Share Purchase PlansConverting Employees to Owners: Employee Share Purchase Plans
Converting Employees to Owners: Employee Share Purchase PlansNow Dentons
 
Startup Equity - Startup summer camp, 2014
Startup Equity - Startup summer camp, 2014Startup Equity - Startup summer camp, 2014
Startup Equity - Startup summer camp, 2014Pankaj Saharan
 
How to Divide the Pie? Dynamic Equity Share by Mike Moyer
How to Divide the Pie? Dynamic Equity Share by Mike Moyer How to Divide the Pie? Dynamic Equity Share by Mike Moyer
How to Divide the Pie? Dynamic Equity Share by Mike Moyer Ed Kuiters
 
Raising Your Seed Round Financing: Should You Use Convertible Notes or Prefe...
Raising Your Seed Round Financing:  Should You Use Convertible Notes or Prefe...Raising Your Seed Round Financing:  Should You Use Convertible Notes or Prefe...
Raising Your Seed Round Financing: Should You Use Convertible Notes or Prefe...Bart Greenberg
 
Startup MBA 3.1 - Funding, equity, valuations
Startup MBA 3.1 - Funding, equity, valuationsStartup MBA 3.1 - Funding, equity, valuations
Startup MBA 3.1 - Funding, equity, valuationsFounder-Centric
 
Avoiding Common Business Plan Mistakes
Avoiding Common Business Plan MistakesAvoiding Common Business Plan Mistakes
Avoiding Common Business Plan MistakesBart Greenberg
 
Equity Incentives and Bonus Plans for Employees, Consultants & Advisors
Equity Incentives and Bonus Plans for Employees, Consultants & AdvisorsEquity Incentives and Bonus Plans for Employees, Consultants & Advisors
Equity Incentives and Bonus Plans for Employees, Consultants & AdvisorsChirag Charlie Patel, PMP
 

Viewers also liked (17)

Startups: Attracting and Retaining Talent (updated 3/6/13)
Startups: Attracting and Retaining Talent (updated 3/6/13)Startups: Attracting and Retaining Talent (updated 3/6/13)
Startups: Attracting and Retaining Talent (updated 3/6/13)
 
Kaplowitch equity dos and donts
Kaplowitch equity dos and dontsKaplowitch equity dos and donts
Kaplowitch equity dos and donts
 
Common Entrepreneur Mistakes
Common Entrepreneur MistakesCommon Entrepreneur Mistakes
Common Entrepreneur Mistakes
 
Employee equity incentives
Employee equity incentivesEmployee equity incentives
Employee equity incentives
 
Building A Stable, Fundable Startup
Building A Stable, Fundable StartupBuilding A Stable, Fundable Startup
Building A Stable, Fundable Startup
 
10 Movies Every Entrepreneur Should Watch
10 Movies Every Entrepreneur Should Watch10 Movies Every Entrepreneur Should Watch
10 Movies Every Entrepreneur Should Watch
 
Succession Planning using Equity Incentive Plan and ESOPs
Succession Planning using Equity Incentive Plan and ESOPsSuccession Planning using Equity Incentive Plan and ESOPs
Succession Planning using Equity Incentive Plan and ESOPs
 
Guaranteed vs Incentive Pay - What's the Right Balance?
Guaranteed vs Incentive Pay - What's the Right Balance?Guaranteed vs Incentive Pay - What's the Right Balance?
Guaranteed vs Incentive Pay - What's the Right Balance?
 
Negotiating as Consultant
Negotiating as ConsultantNegotiating as Consultant
Negotiating as Consultant
 
Converting Employees to Owners: Employee Share Purchase Plans
Converting Employees to Owners: Employee Share Purchase PlansConverting Employees to Owners: Employee Share Purchase Plans
Converting Employees to Owners: Employee Share Purchase Plans
 
ESOPs LEGAL & PROCEDURAL ASPECTS
ESOPs LEGAL & PROCEDURAL ASPECTSESOPs LEGAL & PROCEDURAL ASPECTS
ESOPs LEGAL & PROCEDURAL ASPECTS
 
Startup Equity - Startup summer camp, 2014
Startup Equity - Startup summer camp, 2014Startup Equity - Startup summer camp, 2014
Startup Equity - Startup summer camp, 2014
 
How to Divide the Pie? Dynamic Equity Share by Mike Moyer
How to Divide the Pie? Dynamic Equity Share by Mike Moyer How to Divide the Pie? Dynamic Equity Share by Mike Moyer
How to Divide the Pie? Dynamic Equity Share by Mike Moyer
 
Raising Your Seed Round Financing: Should You Use Convertible Notes or Prefe...
Raising Your Seed Round Financing:  Should You Use Convertible Notes or Prefe...Raising Your Seed Round Financing:  Should You Use Convertible Notes or Prefe...
Raising Your Seed Round Financing: Should You Use Convertible Notes or Prefe...
 
Startup MBA 3.1 - Funding, equity, valuations
Startup MBA 3.1 - Funding, equity, valuationsStartup MBA 3.1 - Funding, equity, valuations
Startup MBA 3.1 - Funding, equity, valuations
 
Avoiding Common Business Plan Mistakes
Avoiding Common Business Plan MistakesAvoiding Common Business Plan Mistakes
Avoiding Common Business Plan Mistakes
 
Equity Incentives and Bonus Plans for Employees, Consultants & Advisors
Equity Incentives and Bonus Plans for Employees, Consultants & AdvisorsEquity Incentives and Bonus Plans for Employees, Consultants & Advisors
Equity Incentives and Bonus Plans for Employees, Consultants & Advisors
 

More from Somkiat Puisungnoen (18)

Next of Java 2022
Next of Java 2022Next of Java 2022
Next of Java 2022
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
 
Part 2 :: Spring Boot testing
Part 2 :: Spring Boot testingPart 2 :: Spring Boot testing
Part 2 :: Spring Boot testing
 
vTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootvTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring Boot
 
Lesson learned from React native and Flutter
Lesson learned from React native and FlutterLesson learned from React native and Flutter
Lesson learned from React native and Flutter
 
devops
devops devops
devops
 
Angular :: basic tuning performance
Angular :: basic tuning performanceAngular :: basic tuning performance
Angular :: basic tuning performance
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
 
Distributed Tracing
Distributed Tracing Distributed Tracing
Distributed Tracing
 
Manage data of service
Manage data of serviceManage data of service
Manage data of service
 
RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2
 
Visual testing
Visual testingVisual testing
Visual testing
 
Cloud Native App
Cloud Native AppCloud Native App
Cloud Native App
 
Wordpress for Newbie
Wordpress for NewbieWordpress for Newbie
Wordpress for Newbie
 
Sck Agile in Real World
Sck Agile in Real WorldSck Agile in Real World
Sck Agile in Real World
 
Clean you code
Clean you codeClean you code
Clean you code
 
SCK Firestore at CNX
SCK Firestore at CNXSCK Firestore at CNX
SCK Firestore at CNX
 
Git as NoSQL
Git as NoSQLGit as NoSQL
Git as NoSQL
 

Working with branch