Agile Workflowsfor Version Control     Lasse Koskela
Agile Workflowsfor 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...
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 Nor...
”    Hey, what’s this? Linus has written his            own version control system from            scratch? Cool. Installi...
”    It’s Sprint #35 and we’re still breaking            the build almost every day, especially            when Mark gets ...
© 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...
trunk development                           feature branches© Copyright Reaktor 2011         Confidential
continuous integration                                      trunk development                                        featu...
Agile Workflows?   ✓ working software as measure of progress        ➡ workflow aligned with continuous integration   ✓ atten...
”    Working software is the primary            measure of progress.                           continuous integration     ...
continuous integrationWorking software as measure of progress© Copyright Reaktor 2011       Confidential
continuous integrationWorking software as measure of progress                                  Trunk development is almost...
”    Continuous attention to technical            excellence and good design enhances            agility.                 ...
refactoringAttention to technical excellence© Copyright Reaktor 2011   Confidential
refactoringAttention to technical excellence                            Small changes are simple. Preference to wait until...
”    Our highest priority is to satisfy the            customer through early and            continuous delivery of valuab...
continuous integrationEarly and continuous delivery© Copyright Reaktor 2011       Confidential
one-piece flowEarly and continuous delivery                             We can deploy the latest and greatest while the    ...
”    At regular intervals, the team reflects            on how to become more effective,            then tunes and adjusts ...
continuous integrationReflecting on our way of working© Copyright Reaktor 2011       Confidential
highlighting problemsReflecting on our way of working                              Problems are visible right away. Pressur...
Food for thought                           (stuff that might matter to you)© Copyright Reaktor 2011                Confiden...
(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                     Stabili...
Branching by Abstraction© Copyright Reaktor 2011   Confidential
thank you.lasse.koskela@reaktor.fi
questions?thoughts?
Upcoming SlideShare
Loading in …5
×

Agile workflows for version control

3,755 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,755
On SlideShare
0
From Embeds
0
Number of Embeds
334
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile workflows for version control

  1. 1. Agile Workflowsfor Version Control Lasse Koskela
  2. 2. Agile Workflowsfor Version Control Lasse Koskela
  3. 3. 60 minutes© Copyright Reaktor 2011 Confidential
  4. 4. 60 minutes 1. common workflows© Copyright Reaktor 2011 Confidential
  5. 5. 60 minutes 1. common workflows 2. agile concerns© Copyright Reaktor 2011 Confidential
  6. 6. 60 minutes 1. common workflows 2. agile concerns 3. critical evaluation© Copyright Reaktor 2011 Confidential
  7. 7. 60 minutes 1. common workflows 2. agile concerns 3. critical evaluation 4. food for thought© Copyright Reaktor 2011 Confidential
  8. 8. common workflows© Copyright Reaktor 2011 Confidential
  9. 9. Project X© Copyright Reaktor 2011 Confidential
  10. 10. © Copyright Reaktor 2011 Confidential
  11. 11. © Copyright Reaktor 2011 Confidential
  12. 12. © Copyright Reaktor 2011 Confidential
  13. 13. © Copyright Reaktor 2011 Confidential
  14. 14. © Copyright Reaktor 2011 Confidential
  15. 15. © Copyright Reaktor 2011 Confidential
  16. 16. © Copyright Reaktor 2011 Confidential
  17. 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. 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. 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. 20. © Copyright Reaktor 2011 Confidential
  21. 21. trunk development© Copyright Reaktor 2011 Confidential
  22. 22. trunk development private branches© Copyright Reaktor 2011 Confidential
  23. 23. trunk development private branches feature branches© Copyright Reaktor 2011 Confidential
  24. 24. trunk development feature branches© Copyright Reaktor 2011 Confidential
  25. 25. continuous integration trunk development feature branches© Copyright Reaktor 2011 Confidential
  26. 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. 27. ” Working software is the primary measure of progress. continuous integration Agile Manifesto© Copyright Reaktor 2011 Confidential
  28. 28. continuous integrationWorking software as measure of progress© Copyright Reaktor 2011 Confidential
  29. 29. continuous integrationWorking 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. 30. ” Continuous attention to technical excellence and good design enhances agility. refactoring Agile Manifesto© Copyright Reaktor 2011 Confidential
  31. 31. refactoringAttention to technical excellence© Copyright Reaktor 2011 Confidential
  32. 32. refactoringAttention 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. 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. 34. continuous integrationEarly and continuous delivery© Copyright Reaktor 2011 Confidential
  35. 35. one-piece flowEarly 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. 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. 37. continuous integrationReflecting on our way of working© Copyright Reaktor 2011 Confidential
  38. 38. highlighting problemsReflecting 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. 39. Food for thought (stuff that might matter to you)© Copyright Reaktor 2011 Confidential
  40. 40. (There.)© Copyright Reaktor 2011 Confidential
  41. 41. Code archaeology© Copyright Reaktor 2011 Confidential
  42. 42. What goes into a release?© Copyright Reaktor 2011 Confidential
  43. 43. Balancing proximity and stability© Copyright Reaktor 2011 Confidential
  44. 44. Balancing proximity and stability Discipline x Architecture Stability = Team Size x Feedback Cycle© Copyright Reaktor 2011 Confidential
  45. 45. Branching by Abstraction© Copyright Reaktor 2011 Confidential
  46. 46. thank you.lasse.koskela@reaktor.fi
  47. 47. questions?thoughts?

×