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 @ AgileEEAgileee
 
Nathaniel Cadwell: The Art of Facilitation
Nathaniel Cadwell: The Art of Facilitation Nathaniel Cadwell: The Art of Facilitation
Nathaniel Cadwell: The Art of Facilitation Agileee
 
Scrum and kanban
Scrum and kanbanScrum and kanban
Scrum and kanbanAgileee
 
How To Change The World
How To Change The WorldHow To Change The World
How To Change The WorldAgileee
 
The Extreme Decade
The Extreme DecadeThe Extreme Decade
The Extreme DecadeAgileee
 
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 WorksAgileee
 
Movivation 3.0
Movivation 3.0Movivation 3.0
Movivation 3.0Agileee
 
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 CenturyAgileee
 
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 AgilityAgileee
 
Lightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanshipLightening Talk: Software craftsmanship
Lightening Talk: Software craftsmanshipAgileee
 
Lightening Talk: Lean start up
Lightening Talk: Lean start upLightening Talk: Lean start up
Lightening Talk: Lean start upAgileee
 
Lightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospectiveLightening Talk: lama sutra of retrospective
Lightening Talk: lama sutra of retrospectiveAgileee
 
Lightening Talk: Just do it eng
Lightening Talk: Just do it engLightening Talk: Just do it eng
Lightening Talk: Just do it engAgileee
 
Lightening Talk: Why do they leave
Lightening Talk: Why do they leaveLightening Talk: Why do they leave
Lightening Talk: Why do they leaveAgileee
 
Lightening Talk: definition of ready
Lightening Talk: definition of readyLightening Talk: definition of ready
Lightening Talk: definition of readyAgileee
 
Coaching creatives
Coaching creativesCoaching creatives
Coaching creativesAgileee
 
Agile and CMMI
Agile and CMMIAgile and CMMI
Agile and CMMIAgileee
 
20101008 agileee v11
20101008 agileee v1120101008 agileee v11
20101008 agileee v11Agileee
 
The art of the retrospective
The art of the retrospectiveThe art of the retrospective
The art of the retrospectiveAgileee
 
Technical diving and Scrum
Technical diving and ScrumTechnical diving and Scrum
Technical diving and ScrumAgileee
 

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

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
[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.pdfhans926745
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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 organizationRadu Cotescu
 
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 MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
[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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

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