Successfully reported this slideshow.

The Agile and Open Source Way (AgileTour Brussels)

1,661 views

Published on

Slides from AgileTour Brussels presentation on September 27th, 2013. More information on AgileTour Brussels: http://atbru.be/

The Agile and Open Source Way is the book for everyone who wants to scale agile in multiple distributed teams. This book will also help you to collaborate upstream with Open Source projects.
Whether you want to improve interactions with other teams inside or outside your company, or just interested in scaling from more than one team, you will find in this publication the information you need, illustrated by a real case.

http://www.the-agile-and-open-source-way.com/

Published in: Business, Technology
  • Be the first to comment

The Agile and Open Source Way (AgileTour Brussels)

  1. 1. The Agile and Open Source Way Learn the Way of Delivering High Quality Software with Multiple Distributed Teams
  2. 2. The Agile and Open Source Way Learn the Way of Delivering High Quality Software with Multiple Distributed Teams
  3. 3. Agile?
  4. 4. Agile manifesto: http://agilemanifesto.org Agile • Continuous improvement • Individuals and interactions • Working software • Customer collaboration • Responding to change
  5. 5. Open Source?
  6. 6. http://en.wikipedia.org/wiki/Open_source Open Source • source code is published • made available to the public • enabling anyone to copy, modify and redistribute the source code without paying royalties or fees
  7. 7.
  8. 8. =
  9. 9. ?
  10. 10. Who?
  11. 11. Alexis Monville #Agile_OS_Way @alexismonville
  12. 12. Alexis Monville #Agile_OS_Way @alexismonville @ayeba
  13. 13. Alexis Monville #Agile_OS_Way @alexismonville @ayeba @enovance
  14. 14. #atbru #Agile_OS_Way @alexismonville @ayeba @enovance
  15. 15. Open Source = Agile ?
  16. 16. Open Source = Agile ? • Open Source shares the same values: • Individuals and interactions • Working software • Customer collaboration • Responding to change
  17. 17. Principles behind... • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • Welcome changing requirements, even late in development.Agile processes harness change for the customer's competitive advantage. • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. • Business people and developers must work together daily throughout the project. • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. • The most efficient and effective method of conveying information to and within a development team is face- to-face conversation. • Working software is the primary measure of progress. • Agile processes promote sustainable development.The sponsors, developers, and users should be able to maintain a constant pace indefinitely. • Continuous attention to technical excellence and good design enhances agility. • Simplicity--the art of maximizing the amount of work not done--is essential. • The best architectures, requirements, and designs emerge from self-organizing teams. • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior
  18. 18. Yes! • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. • Business people and developers must work together daily throughout the project. • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. • The most efficient and effective method of conveying information to and within a development team is face- to-face conversation. • Working software is the primary measure of progress. • Agile processes promote sustainable development.The sponsors, developers, and users should be able to maintain a constant pace indefinitely. • Continuous attention to technical excellence and good design enhances agility. • Simplicity--the art of maximizing the amount of work not done--is essential. • The best architectures, requirements, and designs emerge from self-organizing teams.
  19. 19. But... • Not the same principles and practices: • No day to day face to face conversation • No collocated teams • Individuals and several teams • Distributed • Business People, Customer...
  20. 20. mix
  21. 21. Agile and Open Source
  22. 22. it’s a AND • Be Agile • with Open Source Software
  23. 23. Virtual Gemba Walk
  24. 24. The OpenStack Open Source Cloud Mission: to produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable.
  25. 25. Computing Networking Storing
  26. 26. http://www.openstack.org Cloud Operating System
  27. 27. T
  28. 28. http://www.openstack.org/foundation/ companies/ Who?
  29. 29. http://www.openstack.org/foundation/ companies/ Who?
  30. 30. and a lot more...
  31. 31. 12120+ people 130 Countries
  32. 32. http://www.stackalytics.com/
  33. 33. What Does Openness Mean?
  34. 34. Release Cycle
  35. 35. https://wiki.openstack.org/wiki/ReleaseCycle Release Cycle • A coordinated 6-month release cycle with frequent development milestones. • The Release Cycle is made of four major stages: • Planning • Implementation • Pre-Release • Release
  36. 36. Free?
  37. 37. Release Cycle • Note: Each core project is free to choose a different release cycle contents, as long as they submit a version for the common OpenStack release at the end of the cycle. However, unless they have a good reason to differ, they are strongly encouraged to follow the common plan that is described in this document.
  38. 38. Agile?
  39. 39. Release Cycle • Note: Nothing prevents you to do a particular task outside of the designated stages.You can design during the QA stage. You can write new code on release week. The release cycle just gives you a general idea of what's the general team focus, it is not meant to restrict you in any way.
  40. 40. Austin
  41. 41. Bexar
  42. 42. Cactus
  43. 43. Diablo
  44. 44. Essex
  45. 45. Folsom
  46. 46. Grizzly
  47. 47. Havana
  48. 48. I...
  49. 49. Icehouse
  50. 50. https://wiki.openstack.org/wiki/Releases Release Cycle F G H planning Openstack Design Summit G-1 G-2 G-3 RC planning H-1 H-2 H-3 RC Openstack Design Summit 6 mois 6 mois
  51. 51. Planning
  52. 52. https://wiki.openstack.org/wiki/ReleaseCycle Planning • 4 weeks to: • Design • Discuss • Target
  53. 53. https://wiki.openstack.org/wiki/BasicDesignTenets Tenets
  54. 54. https://wiki.openstack.org/wiki/Blueprints Blueprints
  55. 55. https://blueprints.launchpad.net/ceilometer/+spec/api-v2-improvement Blueprints
  56. 56. https://bugs.launchpad.net/ceilometer Bugs
  57. 57. https://wiki.openstack.org/wiki/Governance/TechnicalCommittee PTLs • Project Technical Leads. • A PTL is the elected technical leader of a given OpenStack core project. • At the end of the planning stage the PTLs triage the submitted blueprints and sets Priority for them. • The blueprints with a priority above Low will be tracked by Release Management throughout the cycle.
  58. 58. photo of the summit OpenStack Summit April 2013 - Portland, Oregon. Licensed under Creative Commons Attribution - ShareAlike - photographer Aaron Hockley - hockleyphoto.com
  59. 59. photo of the summit OpenStack Summit April 2013 - Portland, Oregon. Licensed under Creative Commons Attribution - ShareAlike - photographer Aaron Hockley - hockleyphoto.com
  60. 60. photo of the summit OpenStack Summit April 2013 - Portland, Oregon. Licensed under Creative Commons Attribution - ShareAlike - photographer Aaron Hockley - hockleyphoto.com
  61. 61. http://www.openstack.org/summit/portland-2013/session-videos/ Summit • Every 6 months the Design Summit gather users and developers • The Summit closes the Planning phase
  62. 62. Implementation
  63. 63. 800+
  64. 64. https://wiki.openstack.org/wiki/ How_To_Contribute How?
  65. 65. https://wiki.openstack.org/wiki/IRC Communication
  66. 66. 2 +1, 0 -1
  67. 67. Core Devs • You need a +1 from a Core Developer • Core Developers are co-opted among the contributors
  68. 68. • Teams are distributed between Paris and Montreal Offices, plus people working remotely from home (somewhere...) • They used the Openstack collaborative tools (launchpad, wiki, mailing lists, irc channels...) • Openstack continuous integration tools : Gerrit, Jenkins, Zuul...
  69. 69. • Daily Meeting? • There’s an irc bot for that! • Review, Retrospective, Planning • Videoconference, shared screen, shared documents...
  70. 70. Pre-release
  71. 71. https://wiki.openstack.org/wiki/ReleaseCycle Pre-release • Release Candidates dance :) • RC1 • stop adding features • concentrate on bug fixes • If there’s critical release issues... Go for a RC respin...
  72. 72. Release
  73. 73. InYour Company?
  74. 74. Onboarding
  75. 75. Onboarding • How to... • Ask... • Wiki... • IRC, mailing list... • Buddy... • ...
  76. 76. Design
  77. 77. Design Process • Design Tenets • Blueprints • PTLs • Devs • Summit • ...
  78. 78. Code
  79. 79. Coding Process • Coding guidelines • Version control • Reviewing process • Automated Testing • Automated Deployment • Tools... • PTLs • Core Dev • Dev
  80. 80. Release
  81. 81. Release Cycle photo tambour
  82. 82. People
  83. 83. People • Humble • Collaborative • Learners • Free...
  84. 84. Questions
  85. 85. Thank you!
  86. 86. Alexis Monville #Agile_OS_Way @alexismonville stay tuned: http://www.the-agile-and-open-source-way.com/

×