SlideShare a Scribd company logo
1 of 47
Download to read offline
Agile Workflows
for Version Control
     Lasse Koskela
Agile Workflows
for Version Control
     Lasse Koskela
60 minutes




© Copyright Reaktor 2011   Confidential
60 minutes
   1. common workflows




© Copyright Reaktor 2011   Confidential
60 minutes
   1. common workflows
   2. agile concerns




© Copyright Reaktor 2011   Confidential
60 minutes
   1. common workflows
   2. agile concerns
   3. critical evaluation




© Copyright Reaktor 2011   Confidential
60 minutes
   1. common workflows
   2. agile concerns
   3. critical evaluation
   4. food for thought




© Copyright Reaktor 2011   Confidential
common workflows




© Copyright Reaktor 2011         Confidential
Project X




© Copyright Reaktor 2011      Confidential
© Copyright Reaktor 2011   Confidential
© Copyright Reaktor 2011   Confidential
© Copyright Reaktor 2011   Confidential
© Copyright Reaktor 2011   Confidential
© Copyright Reaktor 2011   Confidential
© Copyright Reaktor 2011   Confidential
© Copyright Reaktor 2011   Confidential
”    I just love it when we get to use the
            best tools there are. Subversion kicks
            ass like Chuck Norris.




                                              Developer X




© Copyright Reaktor 2011     Confidential
”    Hey, what’s this? Linus has written his
            own version control system from
            scratch? Cool. Installing git-svn...




                                              Developer Y




© Copyright Reaktor 2011      Confidential
”    It’s Sprint #35 and we’re still breaking
            the build almost every day, especially
            when Mark gets his drink on, and we
            end up panicking on the release day
            over the f***ups, wondering whether
            all features are ready for show time.
                                                Developer Z




© Copyright Reaktor 2011      Confidential
© Copyright Reaktor 2011   Confidential
trunk development




© Copyright Reaktor 2011         Confidential
trunk development


                           private branches




© Copyright Reaktor 2011         Confidential
trunk development


                           private branches


                           feature branches

© Copyright Reaktor 2011         Confidential
trunk development




                           feature branches

© Copyright Reaktor 2011         Confidential
continuous integration



                                      trunk development




                                        feature branches




© Copyright Reaktor 2011       Confidential
Agile Workflows?
   ✓ working software as measure of progress
        ➡ workflow aligned with continuous integration
   ✓ attention to technical excellence
        ➡ workflow supports refactoring
   ✓ early and continuous delivery
        ➡ workflow supports one-piece flow
   ✓ team reflecting on its behavior
        ➡ workflow highlights problems
© Copyright Reaktor 2011      Confidential
”    Working software is the primary
            measure of progress.




                           continuous integration     Agile Manifesto




© Copyright Reaktor 2011                Confidential
continuous integration


Working software as measure of progress




© Copyright Reaktor 2011       Confidential
continuous integration


Working software as measure of progress
                                  Trunk development is almost synonymous with
                               continuous integration. All teams integrate with the
                                trunk so teams see the true progress all the time.
                                 (Except when you break the build for everyone.)



                                  Teams live in the fantasy world of their feature
                                 branch until they integrate and everybody else
                                                     integrates.
                                 (Integrating continuously is only possible in the
                                    trunk, which is not continuous integration.)



© Copyright Reaktor 2011                     Confidential
”    Continuous attention to technical
            excellence and good design enhances
            agility.



                           refactoring                 Agile Manifesto




© Copyright Reaktor 2011                 Confidential
refactoring


Attention to technical excellence




© Copyright Reaktor 2011   Confidential
refactoring


Attention to technical excellence
                            Small changes are simple. Preference to wait until
                              after hours for doing broader refactorings.
                                     (Due to fear of breaking stuff.)




                                Simple refactorings are trouble-free within the
                               feature branch. Broader refactorings are scary.
                           (Because I don’t know how far others have deviated
                             from the trunk since our common starting point.)




© Copyright Reaktor 2011                  Confidential
”    Our highest priority is to satisfy the
            customer through early and
            continuous delivery of valuable
            software.


                           one-piece flow            Agile Manifesto




© Copyright Reaktor 2011              Confidential
continuous integration


Early and continuous delivery




© Copyright Reaktor 2011       Confidential
one-piece flow


Early and continuous delivery
                             We can deploy the latest and greatest while the
                               trunk is green or quickly fix what’s broken.
                              (Assuming we’re good at this software stuff.)




                            We can deploy what we had a few hours ago or
                           quickly integrate that one feature you really wanted.
                              (Assuming we’re good at this software stuff.)




© Copyright Reaktor 2011                  Confidential
”    At regular intervals, the team reflects
            on how to become more effective,
            then tunes and adjusts its behavior
            accordingly.


                           highlighting problems      Agile Manifesto




© Copyright Reaktor 2011                Confidential
continuous integration


Reflecting on our way of working




© Copyright Reaktor 2011       Confidential
highlighting problems


Reflecting on our way of working
                              Problems are visible right away. Pressure to fix the
                              build. Pressure to find a way to collaborate on the
                              same branch (trunk), same files, and same feature.
                                   Focus is on finding ways to collaborate.



                                  Option of deciding what goes into a release.
                                 Attention drawn to questions like enabling and
                              disabling incomplete features. Focus is on managing
                                             product development.




© Copyright Reaktor 2011                    Confidential
Food for thought
                           (stuff that might matter to you)




© Copyright Reaktor 2011                Confidential
(There.)




© Copyright Reaktor 2011   Confidential
Code archaeology




© Copyright Reaktor 2011   Confidential
What goes into a release?




© Copyright Reaktor 2011   Confidential
Balancing proximity and stability




© Copyright Reaktor 2011   Confidential
Balancing proximity and stability



                                    Discipline x Architecture
                     Stability =
                                   Team Size x Feedback Cycle




© Copyright Reaktor 2011                Confidential
Branching by Abstraction




© Copyright Reaktor 2011   Confidential
thank you.
lasse.koskela@reaktor.fi
questions?
thoughts?

More Related Content

More from Agileee

Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEEHenrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Agileee
 
Scrum and kanban
Scrum and kanbanScrum and kanban
Scrum and kanban
Agileee
 
How To Change The World
How To Change The WorldHow To Change The World
How To Change The World
Agileee
 
The Extreme Decade
The Extreme DecadeThe Extreme Decade
The Extreme Decade
Agileee
 
Agile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All WorksAgile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All Works
Agileee
 
Movivation 3.0
Movivation 3.0Movivation 3.0
Movivation 3.0
Agileee
 
Effective Software Development in the 21st Century
Effective Software Development in the 21st CenturyEffective Software Development in the 21st Century
Effective Software Development in the 21st Century
Agileee
 
Myths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise AgilityMyths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise Agility
Agileee
 
Lightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanshipLightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanship
Agileee
 
Lightening Talk: Lean start up
Lightening Talk: Lean start upLightening Talk: Lean start up
Lightening Talk: Lean start up
Agileee
 
Lightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospectiveLightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospective
Agileee
 
Lightening Talk: Just do it eng
Lightening Talk: Just do it engLightening Talk: Just do it eng
Lightening Talk: Just do it eng
Agileee
 
Lightening Talk: Why do they leave
Lightening Talk: Why do they leaveLightening Talk: Why do they leave
Lightening Talk: Why do they leave
Agileee
 
Lightening Talk: definition of ready
Lightening Talk: definition of readyLightening Talk: definition of ready
Lightening Talk: definition of ready
Agileee
 
Coaching creatives
Coaching creativesCoaching creatives
Coaching creatives
Agileee
 
Agile and CMMI
Agile and CMMIAgile and CMMI
Agile and CMMI
Agileee
 

More from Agileee (20)

Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEEHenrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
 
Nathaniel Cadwell: The Art of Facilitation
Nathaniel Cadwell: The Art of Facilitation Nathaniel Cadwell: The Art of Facilitation
Nathaniel Cadwell: The Art of Facilitation
 
Scrum and kanban
Scrum and kanbanScrum and kanban
Scrum and kanban
 
How To Change The World
How To Change The WorldHow To Change The World
How To Change The World
 
The Extreme Decade
The Extreme DecadeThe Extreme Decade
The Extreme Decade
 
Agile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All WorksAgile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All Works
 
Movivation 3.0
Movivation 3.0Movivation 3.0
Movivation 3.0
 
Effective Software Development in the 21st Century
Effective Software Development in the 21st CenturyEffective Software Development in the 21st Century
Effective Software Development in the 21st Century
 
Myths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise AgilityMyths, Legends and Monsters of Enterprise Agility
Myths, Legends and Monsters of Enterprise Agility
 
Lightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanshipLightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanship
 
Lightening Talk: Lean start up
Lightening Talk: Lean start upLightening Talk: Lean start up
Lightening Talk: Lean start up
 
Lightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospectiveLightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospective
 
Lightening Talk: Just do it eng
Lightening Talk: Just do it engLightening Talk: Just do it eng
Lightening Talk: Just do it eng
 
Lightening Talk: Why do they leave
Lightening Talk: Why do they leaveLightening Talk: Why do they leave
Lightening Talk: Why do they leave
 
Lightening Talk: definition of ready
Lightening Talk: definition of readyLightening Talk: definition of ready
Lightening Talk: definition of ready
 
Coaching creatives
Coaching creativesCoaching creatives
Coaching creatives
 
Agile and CMMI
Agile and CMMIAgile and CMMI
Agile and CMMI
 
20101008 agileee v11
20101008 agileee v1120101008 agileee v11
20101008 agileee v11
 
The art of the retrospective
The art of the retrospectiveThe art of the retrospective
The art of the retrospective
 
Technical diving and Scrum
Technical diving and ScrumTechnical diving and Scrum
Technical diving and Scrum
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Agile workflows for version control

  • 1. Agile Workflows for Version Control Lasse Koskela
  • 2. Agile Workflows for Version Control Lasse Koskela
  • 3. 60 minutes © Copyright Reaktor 2011 Confidential
  • 4. 60 minutes 1. common workflows © Copyright Reaktor 2011 Confidential
  • 5. 60 minutes 1. common workflows 2. agile concerns © Copyright Reaktor 2011 Confidential
  • 6. 60 minutes 1. common workflows 2. agile concerns 3. critical evaluation © Copyright Reaktor 2011 Confidential
  • 7. 60 minutes 1. common workflows 2. agile concerns 3. critical evaluation 4. food for thought © Copyright Reaktor 2011 Confidential
  • 8. common workflows © Copyright Reaktor 2011 Confidential
  • 9. Project X © Copyright Reaktor 2011 Confidential
  • 10. © Copyright Reaktor 2011 Confidential
  • 11. © Copyright Reaktor 2011 Confidential
  • 12. © Copyright Reaktor 2011 Confidential
  • 13. © Copyright Reaktor 2011 Confidential
  • 14. © Copyright Reaktor 2011 Confidential
  • 15. © Copyright Reaktor 2011 Confidential
  • 16. © Copyright Reaktor 2011 Confidential
  • 17. I just love it when we get to use the best tools there are. Subversion kicks ass like Chuck Norris. Developer X © Copyright Reaktor 2011 Confidential
  • 18. Hey, what’s this? Linus has written his own version control system from scratch? Cool. Installing git-svn... Developer Y © Copyright Reaktor 2011 Confidential
  • 19. It’s Sprint #35 and we’re still breaking the build almost every day, especially when Mark gets his drink on, and we end up panicking on the release day over the f***ups, wondering whether all features are ready for show time. Developer Z © Copyright Reaktor 2011 Confidential
  • 20. © Copyright Reaktor 2011 Confidential
  • 21. trunk development © Copyright Reaktor 2011 Confidential
  • 22. trunk development private branches © Copyright Reaktor 2011 Confidential
  • 23. trunk development private branches feature branches © Copyright Reaktor 2011 Confidential
  • 24. trunk development feature branches © Copyright Reaktor 2011 Confidential
  • 25. continuous integration trunk development feature branches © Copyright Reaktor 2011 Confidential
  • 26. Agile Workflows? ✓ working software as measure of progress ➡ workflow aligned with continuous integration ✓ attention to technical excellence ➡ workflow supports refactoring ✓ early and continuous delivery ➡ workflow supports one-piece flow ✓ team reflecting on its behavior ➡ workflow highlights problems © Copyright Reaktor 2011 Confidential
  • 27. Working software is the primary measure of progress. continuous integration Agile Manifesto © Copyright Reaktor 2011 Confidential
  • 28. continuous integration Working software as measure of progress © Copyright Reaktor 2011 Confidential
  • 29. continuous integration Working software as measure of progress Trunk development is almost synonymous with continuous integration. All teams integrate with the trunk so teams see the true progress all the time. (Except when you break the build for everyone.) Teams live in the fantasy world of their feature branch until they integrate and everybody else integrates. (Integrating continuously is only possible in the trunk, which is not continuous integration.) © Copyright Reaktor 2011 Confidential
  • 30. Continuous attention to technical excellence and good design enhances agility. refactoring Agile Manifesto © Copyright Reaktor 2011 Confidential
  • 31. refactoring Attention to technical excellence © Copyright Reaktor 2011 Confidential
  • 32. refactoring Attention to technical excellence Small changes are simple. Preference to wait until after hours for doing broader refactorings. (Due to fear of breaking stuff.) Simple refactorings are trouble-free within the feature branch. Broader refactorings are scary. (Because I don’t know how far others have deviated from the trunk since our common starting point.) © Copyright Reaktor 2011 Confidential
  • 33. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. one-piece flow Agile Manifesto © Copyright Reaktor 2011 Confidential
  • 34. continuous integration Early and continuous delivery © Copyright Reaktor 2011 Confidential
  • 35. one-piece flow Early and continuous delivery We can deploy the latest and greatest while the trunk is green or quickly fix what’s broken. (Assuming we’re good at this software stuff.) We can deploy what we had a few hours ago or quickly integrate that one feature you really wanted. (Assuming we’re good at this software stuff.) © Copyright Reaktor 2011 Confidential
  • 36. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. highlighting problems Agile Manifesto © Copyright Reaktor 2011 Confidential
  • 37. continuous integration Reflecting on our way of working © Copyright Reaktor 2011 Confidential
  • 38. highlighting problems Reflecting on our way of working Problems are visible right away. Pressure to fix the build. Pressure to find a way to collaborate on the same branch (trunk), same files, and same feature. Focus is on finding ways to collaborate. Option of deciding what goes into a release. Attention drawn to questions like enabling and disabling incomplete features. Focus is on managing product development. © Copyright Reaktor 2011 Confidential
  • 39. Food for thought (stuff that might matter to you) © Copyright Reaktor 2011 Confidential
  • 40. (There.) © Copyright Reaktor 2011 Confidential
  • 41. Code archaeology © Copyright Reaktor 2011 Confidential
  • 42. What goes into a release? © Copyright Reaktor 2011 Confidential
  • 43. Balancing proximity and stability © Copyright Reaktor 2011 Confidential
  • 44. Balancing proximity and stability Discipline x Architecture Stability = Team Size x Feedback Cycle © Copyright Reaktor 2011 Confidential
  • 45. Branching by Abstraction © Copyright Reaktor 2011 Confidential