Advertisement

Agile, the Pivotal way

Anti-disciplinary investor, entrepreneur and startup hustler at Formlabs
Jun. 25, 2010
Advertisement

More Related Content

Similar to Agile, the Pivotal way(20)

Advertisement
Advertisement

Agile, the Pivotal way

  1. Agile, The Pivotal Way 20 years of experience Condensed into some things that work for us Ian McFarland, VP Technology ian@pivotallabs.com
  2. Pivotal Labs Snapshot • Founded 1989 • Agile since mid ‘90s • Rails since 2006 • Approximately 100 people, and growing • HQ in San Francisco • Regional offices in New York, Boulder, and Singapore
  3. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here A little quieter than we used to be
  4. A Typical Day at Pivotal Labs
  5. ...starts with breakfast Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  6. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  7. Followed by Standup Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  8. Followed by Standup Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  9. Stand-Up for 50 People? Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  10. The Large Standup Covers Things of Global Utility • Help • Anything anyone needs help on • Interesting • Anything of global interest or utility • New techniques, interesting gotchas, events • Introductions • Anyone new to the office • Stretch
  11. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here A whiteboard helps capture Helps and Interestings
  12. Title • Bulleted Text Goes Here • Bulleted Text Goes Here It’s a place for people to jot • Bulleted Text Goes Here • Bulleted Text Goes Here down topics so they’re not • Bulleted Text Goes Here forgotten
  13. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here An information radiator • Bulleted Text Goes Here shows who’s on what project this week.
  14. The big standup is followed by Team Standups Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  15. The big standup is followed by Team Standups Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  16. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here ...and then we start pairing
  17. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here ...and then we start pairing
  18. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  19. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  20. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Pivot • Bulleted Text Goes Here Client • Bulleted Text Goes Here
  21. Product Owners are Close at Hand Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  22. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Build monitors...
  23. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here ...are visible...
  24. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here ...and ubiquitous.
  25. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Wednesday Tech Talks
  26. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here ...which we videotape
  27. ...and Title share... • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here http://pivotallabs.com/talks
  28. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here email station
  29. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  30. ...and people go home at 6.
  31. A Typical Day at Pivotal Labs • 8:45 Breakfast • 9:07 Standup • 9:15-ish Team Standups • Noonish Lunch • 6:00 End of the work day Pivot Pong PRN
  32. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here The Theory Behind Breakfast
  33. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Pivot Pong
  34. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  35. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  36. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  37. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  38. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  39. ask@pivotallabs.com
  40. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here We try to remove impediments to productivity
  41. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  42. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here ...and foster learning... • Bulleted Text Goes Here
  43. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  44. Productive Workspace • Open Workspace • Colocated Developers and Customer • Consistent Pairing Stations • One big screen, 2 keyboards (we use 27” and 24” iMacs) • No laptops on the floor • Visible build monitors • Everyone can see the backlog in Tracker • Breakfast, snacks and beverages on hand • Space for interruptions away from the workspace
  45. Standard Development Workstation • Keeping tools consistent across machines is critical to high-rotation pairing. • People don’t have their own machines, but sit where their project is. • Machines are reimaged after each project • ASR FTW! • A brand new machine is ready to use within 30 minutes of it showing up on the floor.
  46. Why Sustainability Matters (for bean counters) • Predictable delivery is at a premium • Tired developers introduce bugs • Developer retention is important! • Good developers are never easy to come by • Ramp-up is expensive • Team changes expose companies to risk • Crunch time buys short-term productivity at long- term cost
  47. Why Developer Happiness is Important to the Business • Leading Indicator: Developer Happiness strongly correlated to Developer Productivity Grunt Work = Money Wasted • Happy workers are more focused
  48. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Multiple Locations
  49. The New York Office Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  50. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Standup Agenda Whiteboard
  51. Pairing Stations Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  52. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Tech Talks
  53. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Tech Talks
  54. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Email Stations
  55. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Community Events
  56. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Community Events
  57. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Community Events
  58. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Community Events
  59. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Community Events
  60. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Community Events
  61. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Boulder, Colorado
  62. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  63. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  64. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  65. Singapore
  66. Singapore yeowatzup
  67. grongar
  68. Rotations Ralph Hockens
  69. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Simple Telepresence
  70. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Meeting rooms all set up for teleconferencing
  71. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Robots! We have Robots!
  72. Cheap and Cheerful Telepresence • Mac Mini • HDTV • iSight • Snowball Mic • Skype or iChat • Total: about $1,500
  73. Remote Pairing
  74. What do you mean, Agile? Ralph Hockens
  75. 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: Title Individuals and interactions over processes and tools • software over Goes Here Working Bulleted Textcomprehensive documentation Customer collaboration overHere negotiation • Bulleted Text Goes contract Responding to change over following a plan • Bulleted Text Goes Here That is, while there is value in the items on • Bulleted Text Goes the left the right, we value the items on Here more. • Bulleted Text Goes Here Kent Beck James Grenning Robert C. Martin Mike Beedle Jim Highsmith Steve Mellor Arie van Bennekum Andrew Hunt Ken Schwaber Alistair Cockburn Ron Jeffries Jeff Sutherland Ward Cunningham Jon Kern Dave Thomas Martin Fowler Brian Marick © 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice.
  76. That’s nice... How do we do that? • Business Driven: Requirements come from business stakeholders • Iterative Development, with Short Iterations • Test/Behavior Driven Development • Continuous Integration, Continuous Releasability • Pair Programming • Productive Work Environment
  77. Business Driven • Requirements come from business stakeholders • One designated Customer is empowered to make decisions • Priorities are set by that Customer • The Customer can change priorities on anything unstarted • The Customer accepts the work in fine-grained increments • The Customer is intimately aware of progress, and projected completion dates • Closing the feedback loop is critical Accept Reject
  78. TDD/BDD • Good tests tell us when we’ve met the customer requirements • They tell us when we’ve broken behavior that used to work • They tell us when we haven’t, so we can refactor with impunity • Writing tests first keeps us from overdesigning/doing things we don’t need to do • Writing tests first forces cleaner API design, because we have to call into our own code in order to write it • It leads to looser coupling and encourages higher cohesion • Good developer testing keeps the cost of change constant
  79. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  80. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  81. Test-Drive Everything! • Rails, Ruby, of course • JavaScript too! • Mobile too!
  82. Iterative Development • Because the customer is seeing the work on a daily basis, the feedback cycle is short • This keeps the cost of change low, by preventing unnecessary work • It allows for new insights to be gained from the work we’ve already completed, and for those insights to be incorporated into our new code • Iterations are as short as we can make them
  83. Continuous Integration, Continuous Releasability • Knowing when things break is critical to reducing the cost of fixing defects. • Keep the build status visible, so you can fix it quickly • A broken build is a ‘stop the line’ event • Continuous releasability does not mean you release every day. • It just means you can. • Releases can be distracting, so weigh the cost of a release against the value it adds to the business.
  84. Pair Programming • Do we really have to pair? • Isn’t Pairing Slower? • I don’t like pairing. • I’m shy. • I don’t want to look stupid.
  85. Do we really have to pair? •Yes, you do. • ...but only if you want to be efficient • This is one of the least-used practices, and one of the most important. • And stop whining! You do it already when you get stuck on something.
  86. </rant>
  87. What do developers really do all day? • Coding • Reading web pages about coding • Stuck on some problem, unsure of: • The right approach • What the API for that object was • How SQL indexes are selected • How bind(this) works in JavaScript • Checking email • Checking news, stock price, staring blankly into space
  88. How does pairing help? • 80/20 rule: You don’t get stuck, so you spend your time on the most interesting part of the code. • As you eliminate the grunt work (thanks Rails) more of the work requires real thinking, and design • You talk through design, and refine before you code. • You learn from your pair, everything from design and testing techniques to (no)SQL, CSS, and JavaScript tips. • Focus matters: Your pair keeps you paying attention, and can smooth over disruptions
  89. How does pairing help? • More developers in a smaller space • How many truly independent fronts are there in your codebase on which you can make progress? • New team members: You’re really productive the first hour, not marginally productive starting two weeks in • They have a local sherpa to tell them how the code they’re working on actually works. • Knowledge Silos: Your bus number approaches ∞
  90. Pairing Combinations
  91. Pairing Combinations
  92. Pairing Combinations
  93. Pairing Combinations ? ? ? ? ? ? ? ?
  94. Pairing Combinations ? ? ? ? ? ? ? ?
  95. Pairing Combinations
  96. Team Size • A single pair has zero communication overhead • 2-3 pairs have almost no communication overhead, as long as pairs are rotated • 4-5 pairs require a whole additional FTE for coordination • Above 5 pairs, projects really need to be subdivided into separate efforts • And you have to have enough separable work so that the additional people are adding value
  97. Anchors ell brown
  98. All but the anchor can swap out whenever
  99. Specialization MC4 Army
  100. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Design
  101. Enough Design zengame
  102. Agile is not... Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  103. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here ...a religion.
  104. ...but a tool that works well Terinea IT Support
  105. ...and that needs to be renewed continuously. donielle
  106. Retrospectives
  107. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here The Client Engagement
  108. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  109. Family andresmh
  110. pedrosimoes7
  111. Family jronaldlee
  112. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here The Agile Inception
  113. Ramp up or down as needed alexliivet
  114. TheTruthAbout...
  115. Client Engagement Model • Get their Product Owner in our space • Start as the whole team, or work with their existing team • Help them hire, replacing Pivots as we go • At the end of the project, they know our practices, and their own code base
  116. Business Terms • Net 15, with 30 day retainer Christopher Isherwood
  117. Culture Matters! • Consistency of service between teams and locations • It works! Maintaining the Culture kaibara87
  118. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here The Team Matters
  119. The Location Matters
  120. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  121. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Market Street San Francisco
  122. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Shake Shack • Bulleted Text Goes Here • Bulleted Text Goes Here Broadway Manhattan
  123. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Pearl Street Boulder
  124. Fusionopolis Singapore yeowatzup
  125. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Hire Well
  126. Hire better than you • A’s hire A’s • B’s hire C’s • Hire A+’s rochelle, et. al.
  127. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Hire for Aptitude and Fit
  128. The Rob Pairing Interview
  129. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here Pairing with a Candidate
  130. Title • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here • Bulleted Text Goes Here
  131. Listen to your gut! TheGiantVermin
  132. The Two Beer Test
  133. Don’t keep people who don’t fit jessicafm
  134. Come Visit! • You all have an open invitation to come visit us in any of our locations. • Just drop me a note and we’ll set it up.
  135. Thanks! • Ian McFarland, VP Technology, Pivotal Labs • @imf • ian@pivotallabs.com • Talks at http://pivotallabs.com/talks • Jobs at http://pivotallabs.com/jobs • Try out Tracker at http://pivotaltracker.com/ • Photos used under with attribution as noted or are original works
Advertisement