Agile Infrastructure Velocity 09

7,616 views
7,967 views

Published on

Slides from my talk at velocity

Published in: Business, Technology

Agile Infrastructure Velocity 09

  1. 1. Agile Infrastructure A Story in Three Acts Velocity 2009
  2. 2. Preface
  3. 3. Andrew Clay Shafer
  4. 4. Andrew Clay Shafer A Villager...
  5. 5. Andrew Clay Shafer A Villager... Programmer
  6. 6. Love working for startups Andrew Clay Shafer A Villager... Programmer
  7. 7. Love working for startups ‘Agile’ and stuff Andrew Clay Shafer A Villager... Programmer
  8. 8. Love working for startups ‘Agile’ and stuff Reductive Labs Andrew Clay Shafer A Villager... Programmer
  9. 9. Love working for startups ‘Agile’ and stuff Reductive Labs Andrew Clay Shafer A Villager... People behind Puppet Programmer
  10. 10. Love working for startups ‘Agile’ and stuff Reductive Labs Andrew Clay Shafer A Villager... People behind Puppet Programmer The rest is complicated...
  11. 11. 50% Agile
  12. 12. 50% Infrastructure
  13. 13. 50% Theory
  14. 14. 50% Practice
  15. 15. 50% History
  16. 16. 50% Future
  17. 17. 50% Rant
  18. 18. 50% Hope
  19. 19. 100% My Perspective
  20. 20. 100% My Perspective Your Mileage May Vary...
  21. 21. Thanks
  22. 22. Thanks Alistair Cockburn
  23. 23. Thanks Alistair Cockburn Brian Marick
  24. 24. Thanks Alistair Cockburn Brian Marick Israel Gat
  25. 25. Thanks Alistair Cockburn Brian Marick Israel Gat Zhon Johansen
  26. 26. Thanks Alistair Cockburn Brian Marick Israel Gat Zhon Johansen Kay Johansen
  27. 27. Thanks Alistair Cockburn Brian Marick Israel Gat Zhon Johansen Kay Johansen Salt Lake Agile Roundtable
  28. 28. Thanks
  29. 29. Thanks Luke Kanies
  30. 30. Thanks Luke Kanies Teyo Tyree
  31. 31. Thanks Luke Kanies Teyo Tyree Paul Nasrat
  32. 32. Thanks Luke Kanies Teyo Tyree Paul Nasrat James Turnbull
  33. 33. Thanks Luke Kanies Teyo Tyree Paul Nasrat James Turnbull Paul Lathrop
  34. 34. Thanks Luke Kanies Teyo Tyree Paul Nasrat James Turnbull Paul Lathrop Adam Jacob
  35. 35. Thanks Luke Kanies Teyo Tyree Paul Nasrat James Turnbull Paul Lathrop Adam Jacob Puppet Community
  36. 36. Act I In The Beginning...
  37. 37. What Is Agile?
  38. 38. Manifesto, 4 Values, 12 principles...
  39. 39. Manifesto, 4 Values, 12 principles...
  40. 40. Manifesto, 4 Values, 12 principles...
  41. 41. Manifesto, 4 Values, 12 principles...
  42. 42. Manifesto, 4 Values, 12 principles...
  43. 43. Manifesto, 4 Values, 12 principles...
  44. 44. Manifesto, 4 Values, 12 principles...
  45. 45. Manifesto, 4 Values, 12 principles...
  46. 46. Manifesto, 4 Values, 12 principles...
  47. 47. Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  48. 48. Principles
  49. 49. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  50. 50. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  51. 51. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  52. 52. Business people and developers must work together daily throughout the project.
  53. 53. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  54. 54. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  55. 55. Working software is the primary measure of progress.
  56. 56. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  57. 57. Continuous attention to technical excellence and good design enhances agility.
  58. 58. Simplicity--the art of maximizing the amount of work not done--is essential.
  59. 59. The best architectures, requirements, and designs emerge from self-organizing teams.
  60. 60. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  61. 61. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. (This is the sauce...)
  62. 62. What Is Agile?
  63. 63. A marketing document
  64. 64. Act II Manifestations
  65. 65. BUT What Is Agile???
  66. 66. BUT What Is Agile??? PLANNING
  67. 67. BUT What Is Agile??? PLANNING ENGINEERING
  68. 68. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS
  69. 69. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS PRODUCT OWNERS
  70. 70. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS PRODUCT OWNERS TESTERS
  71. 71. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS EXECUTIVES PRODUCT OWNERS TESTERS
  72. 72. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS EXECUTIVES PRODUCT SYSTEM ADMINISTRATORS OWNERS TESTERS
  73. 73. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS EXECUTIVES PRODUCT SYSTEM ADMINISTRATORS OWNERS DATABASE ADMINISTRATORS TESTERS
  74. 74. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS EXECUTIVES PRODUCT SYSTEM ADMINISTRATORS OWNERS DATABASE ADMINISTRATORS TESTERS NETWORK ENGINEERS
  75. 75. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS EXECUTIVES PRODUCT SYSTEM ADMINISTRATORS OWNERS DATABASE ADMINISTRATORS TESTERS NETWORK ENGINEERS DESIGNERS
  76. 76. BUT What Is Agile??? PLANNING ENGINEERING DEVELOPERS EXECUTIVES PRODUCT SYSTEM ADMINISTRATORS OWNERS DATABASE ADMINISTRATORS TESTERS NETWORK ENGINEERS DESIGNERS USABILITY EXPERTS
  77. 77. BUT What Is Agile??? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES PRODUCT SYSTEM ADMINISTRATORS OWNERS DATABASE ADMINISTRATORS TESTERS NETWORK ENGINEERS DESIGNERS USABILITY EXPERTS
  78. 78. BUT What Is Agile??? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES PRODUCT SYSTEM ADMINISTRATORS OWNERS DATABASE ADMINISTRATORS TESTERS NETWORK ENGINEERS DESIGNERS USABILITY EXPERTS
  79. 79. Pair Programming
  80. 80. Continuous Pair Programming Integration
  81. 81. Continuous Pair Programming Integration Planning Poker
  82. 82. Continuous Pair Programming Integration Planning Poker Refactor
  83. 83. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI)
  84. 84. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI) Test Driven Development
  85. 85. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI) Sustainable Pace Test Driven Development
  86. 86. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI) Sustainable Pace Test Driven Development Small Releases
  87. 87. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI) Sustainable Pace Test Driven Development Small Releases Shared Metaphor
  88. 88. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI) Sustainable Pace Test Driven Development Small Releases Shared Metaphor Coding Standards
  89. 89. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI) Sustainable Pace Test Driven Development Small Releases Shared Metaphor Coding Standards Onsite ‘Customer’
  90. 90. Continuous Pair Programming Integration Planning Poker Refactor Simple Design (YAGNI) Sustainable Pace Test Driven Development Small Releases Shared Metaphor Coding Standards Onsite ‘Customer’ Collective Ownership
  91. 91. Dogma Sucks
  92. 92. Dogma Sucks Do not seek to follow in the footsteps of the wise. Seek what they sought. --
  93. 93. The Tao that can be spoken is not the eternal Tao
  94. 94. Hold, Break, Leave
  95. 95. You are a special snow flake...
  96. 96. Just like everybody else...
  97. 97. Act III The Future is Now
  98. 98. the way software is delivered has changed a lot...
  99. 99. the way software is delivered has changed a lot... ...AND THINGS ARE CHANGING FAST RIGHT NOW .
  100. 100. The End of Shrink Wrap
  101. 101. The End of Shrink Wrap The infrastructure is the application.
  102. 102. The End of Shrink Wrap The infrastructure is the application. The application is the infrastructure.
  103. 103. The End of Shrink Wrap The infrastructure is the application. The application is the infrastructure.
  104. 104. DEVELOPERS OPERATIONS
  105. 105. DEVELOPERS OPERATIONS
  106. 106. DEVELOPERS OPERATIONS
  107. 107. DEVELOPERS OPERATIONS
  108. 108. DEVELOPERS OPERATIONS
  109. 109. Infrastructure is Code!!!
  110. 110. Infrastructure is Code!!! Give me an API or give me DEATH!
  111. 111. Infrastructure is Code!!! Give me an API or give me DEATH! Please?
  112. 112. Infrastructure is Code!!! Give me an API or give me DEATH! Please? Do it for the children...
  113. 113. DEVELOPERS OPERATIONS
  114. 114. DEVELOPERS OPERATIONS
  115. 115. BOUNDARY OBJECTS DEVELOPERS OPERATIONS
  116. 116. BOUNDARY OBJECTS DEVELOPERS OPERATIONS COMMUNITY OF INTEREST
  117. 117. BOUNDARY OBJECTS DEVELOPERS OPERATIONS COMMUNITY OF INTEREST
  118. 118. WWW .VISIBLEWORKINGS.COM/ANALOGYFEST/MARICK-BOUNDARY-OBJECTS.PDF BOUNDARY OBJECTS DEVELOPERS OPERATIONS COMMUNITY OF INTEREST
  119. 119. Lack of awareness of other disciplines is bad...
  120. 120. Lack of awareness of other disciplines is bad... Leads to over engineering...
  121. 121. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures...
  122. 122. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline
  123. 123. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure
  124. 124. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything!
  125. 125. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate
  126. 126. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control
  127. 127. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to...
  128. 128. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything
  129. 129. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy
  130. 130. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy Always Ship Trunk
  131. 131. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy Always Ship Trunk Don’t Stereotype
  132. 132. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy Always Ship Trunk Don’t Stereotype Shared Metrics
  133. 133. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy Always Ship Trunk Don’t Stereotype Shared Metrics The business requires change
  134. 134. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy Always Ship Trunk Don’t Stereotype Shared Metrics The business requires change Lower risk through tools and culture
  135. 135. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy Always Ship Trunk Don’t Stereotype Shared Metrics The business requires change Lower risk through tools and culture One Step Build and Deploy
  136. 136. Lack of awareness of other disciplines is bad... Leads to over engineering... Leads to catastrophic failures... Tools, knowledge, experience, discipline Automated Infrastructure Version Control Everything! Collaborate Shared Version Control Don’t do work you don’t have to... Monitor Everything Don’t be fingerpointy Always Ship Trunk Don’t Stereotype Shared Metrics The business requires change Lower risk through tools and culture One Step Build and Deploy Ops job is to enable the business
  137. 137. Newsflash: Everyones job is to enable the business...
  138. 138. What are the Best Practices?
  139. 139. What are the Best Practices? Robert Mecklenburg
  140. 140. What are the Best Practices? Robert Mecklenburg
  141. 141. What are the Best Practices? How about ‘better than we did yesterday’ practices? Robert Mecklenburg
  142. 142. What are the Best Practices? How about ‘better than we did yesterday’ practices? Or ‘seems like a good idea right now’ practices? Robert Mecklenburg
  143. 143. http://www.techdarkside.com/ David Christiansen
  144. 144. http://www.techdarkside.com/ David Christiansen
  145. 145. We believe Agile software development is being dumbed down, commodified, and is losing its spirit. We seek to replace the current name with one having two virtues: first, that it capture more exactly the attitudes originally behind Agile; second, that it be obscure enough that no one will assume they already know what it means and that—amazingly enough!—they are already doing it. arxta.net
  146. 146. Agile Manifesto’s Missing Values Skill Discipline Ease Joy Heretic
  147. 147. AR⊗TA Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism
  148. 148. AR⊗TA Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism care about the cheese
  149. 149. AR⊗TA Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism care about the cheese a genuine fascination with technology
  150. 150. AR⊗TA Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism care about the cheese a genuine fascination with technology focus on the team
  151. 151. AR⊗TA Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism care about the cheese a genuine fascination with technology focus on the team emphasis on direct action
  152. 152. AR⊗TA Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism care about the cheese a genuine fascination with technology focus on the team emphasis on direct action
  153. 153. AR⊗TA Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism care about the cheese a genuine fascination with technology focus on the team emphasis on direct action
  154. 154. Artisanal Retro-Futurism
  155. 155. Team-Scale Anarcho-Syndicalism Artisanal Retro-Futurism
  156. 156. Awesome Sauce! Team-Scale Anarcho-Syndicalism Artisanal Retro-Futurism
  157. 157. Awesome Sauce! Team-Scale Anarcho-Syndicalism Artisanal Retro-Futurism
  158. 158. Awesome Sauce! Team-Scale Anarcho-Syndicalism Artisanal Retro-Futurism
  159. 159. My Advice...
  160. 160. My Advice... Steal everything...
  161. 161. My Advice... Steal everything... But don’t forget who you are...
  162. 162. My Advice... Steal everything... But don’t forget who you are... Plenty of good ideas to go around...
  163. 163. THE MOST IMPORTANT STATEMENT FROM THE MANIFESTO...
  164. 164. THE MOST IMPORTANT STATEMENT FROM THE MANIFESTO... ...ISN’T THE VALUES...
  165. 165. THE MOST IMPORTANT STATEMENT FROM THE MANIFESTO... ...ISN’T THE VALUES... ...OR THE PRINCIPLES...
  166. 166. ‘We are uncovering better ways of developing software by doing it and helping others do it.’
  167. 167. ‘We are uncovering better ways of developing software by doing it and helping others do it.’
  168. 168. ‘We are uncovering better ways of developing software by doing it and helping others do it.’
  169. 169. Keep Uncovering
  170. 170. Keep Uncovering Keep Helping Each Other
  171. 171. andrew@reductivelabs @littleidea
  172. 172. Questions? andrew@reductivelabs @littleidea

×