2. ABOUT THE TALKER
• Christopher Human
• 9 year career as a web developer
• Senior PHP Developer at WorldAware
• I have a multitude of weird hobbies…
• Casual Agile Enthusiast
6. WHY SHOULD OUR REPO BE AGILE?
• Reduce the number of internal blockers
• Reduce time spent preparing for deployments
7. BRANCHES
• Branching allow you to create a cloned snapshot of code, and work
independently of other branches
• All repositories have a “main” branch
• master
• Typically contains ‘production’ code
9. THE AGILE WAY
• Make branches for each environment
• master is Production
• qa / staging
• qa1, qa2 etc.
10. THE AGILE WAY
RELEASE BRANCHES
• Product Owners: Communicate with your teams about releases and what work
goes where.
• Every release should ideally have its own branch.
• REL/1.1.0/new_design
11. THE AGILE WAY
STORY BRANCHES
• Every story or task should have their own branch
• FT/TICKET-1/re-organize_buttons
• FT/TICKET-1/TASK/TICKET-2/change_button_names
• Similar convention can be used for bugs
12. A BRIEF EXAMPLE
• Production is up to date
• Staging branch for staging
environment
master
staging
14. A BRIEF EXAMPLE
• First story is being
worked on
master
staging REL/1.0/rework_buttons
FT/PROJ-1/
change_colours
15. A BRIEF EXAMPLE
• Dev complete,
merge into testing
master
staging
FT/PROJ-1/
change_colours
REL/1.0/rework_buttons
16. A BRIEF EXAMPLE
• Dev complete,
merge into testing
master
staging
(PROJ-1) REL/1.0/rework_buttons
17. A BRIEF EXAMPLE
• Testing complete
and meets
definition of done
Merge into release
branch
master
staging
(PROJ-1)
REL/1.0/rework_buttons
FT/PROJ-1/
change_colours
18. A BRIEF EXAMPLE
• Testing complete
and meets
definition of done
Merge into release
branch
master
staging
(PROJ-1)
REL/1.0/rework_buttons
(PROJ-1)
19. A BRIEF EXAMPLE
• OH NO! A 🐞 master
staging
(PROJ-1)
REL/1.0/rework_buttons
(PROJ-1)
SD/ISSUE-2/fix_bug
20. A BRIEF EXAMPLE
• 🐞fix test
master
staging
(PROJ-1)
SD/ISSUE-2/fix_bug
REL/1.0/rework_buttons
(PROJ-1)
21. A BRIEF EXAMPLE
• 🐞fix test
master
staging
(PROJ-1) (ISSUE-2)
REL/1.0/rework_buttons
(PROJ-1)
22. A BRIEF EXAMPLE
• Deploy the 🐞
fix
master
staging
(PROJ-1) (ISSUE-2)
REL/1.0/rework_buttons
(PROJ-1)
SD/ISSUE-2/fix_bug
23. A BRIEF EXAMPLE
• Deploy the 🐞
fix
master
(ISSUE-2)
staging
(PROJ-1) (ISSUE-2)
REL/1.0/rework_buttons
(PROJ-1)
24. A BRIEF EXAMPLE
• Sprint is complete
Lets deploy to
production!
master
(ISSUE-2)
staging
(PROJ-1) (ISSUE-2)
REL/1.0/rework_buttons
(PROJ-1)
25. A BRIEF EXAMPLE
• Sprint is complete
Lets deploy to
production!
master
(ISSUE-2) (PROJ-1)
staging
(PROJ-1) (ISSUE-2)