Your SlideShare is downloading. ×
agile developmentTHE PIVOTAL WAYMike GehardSoftware Engineer, Bouldermgehard@pivotallabs.com@pivotallabs@mikegehard
PIVOTAL LABS• 200+ people in San Francisco, New York, Boulder,    Los Angeles, Boston, London (for now)•   Ruby on Rails, ...
FIRST, WE FEED                 3
THEN WE STAND                4
AND THEN PAIR                5
AND THEN PAIR                6
WE TAKE OUR BREAKS                      7
AND REPLENISH                 8
A GRUELING DAY•   08:45 Breakfast•   09:05 All Hands Standup•   09:15 Team Standups•   Lunch noon-ish•   Ping pong at will...
IT’S ABOUT SUSTAINABILITY•   Consistent, predictable delivery is at a premium•   Tired developers leave bugs•   Tired deve...
BUILDING SUSTAINABLE    SOFTWARE IN A  SUSTAINABLE WAY   amazing secrets revealed!
GOALS OF OUR SOFTWAREPROJECTS•   Get V1 of new product to market quickly•   Malleable, change based on feedback•   Predict...
TRADITIONAL SOFTWAREDEVELOPMENT IS EXPENSIVE• Growing maintenance debt• Rising defect rate• Increasing cost of change     ...
14
EFFECTIVE (AND SUSTAINABLE)SOFTWARE DEVELOPMENT...•   Is mostly about communication•   Needs to allow for change•   Takes ...
OUR HISTORY WITH XP•   Started with “by the book” XP in 1999•   Helped Beck et al with the early books•   Great early expe...
CORE PRACTICES    October 12, 2012
ALL PAIRING, ALL THE TIME                            18
PAIR PROGRAMMING•   Developers sit in pairs•   All machines are communal•   No laptops/iPhones•   Ping pong pairing•   Fre...
PAIRING BENEFITS•   Higher quality code•   Shares codebase knowledge quickly•   Very high bus count•   More focus•   Great...
PAIRING COMBINATIONS                       21
PAIRING COMBINATIONS                       22
PAIRING COMBINATIONS                       23
PAIRING COMBINATIONS                  ?              ?       ?          ?               ?              ?       ?          ...
PAIRING COMBINATIONS                  ?              ?       ?          ?               ?              ?       ?          ...
PAIRING COMBINATIONS                       26
100% TEST DRIVEN•   No production code written without a failing test•   No code checked in without running tests•   Focus...
RUTHLESS REFACTORING• Code evolution• Incremental design towards patterns• It takes discipline, but pairing helps  Tells y...
CONTINUOUS INTEGRATION• Critical to maintain constant cost of change• When to release is a business decision              ...
THE TEAM           30
THE TEAM•   Small, typically 2-4 pairs•   Co-located, or intermingled-then-remote•   Daily standups, weekly planning meeti...
INVOLVED CUSTOMER•   Within earshot and always available•   Empowered to make decisions•   Maintains prioritized backlog• ...
33
RETROSPECTIVES
TECHNICAL EXPERTS • Lead in specific tech area • Guest pairs on teams as needed • Blog & tech talk regularly               ...
HIRING FOR APTITUDE ANDCULTURAL FIT
THANK YOUMike GehardSoftware Engineermgehard@pivotallabs.com@pivotallabs@mikegehard                          37
Upcoming SlideShare
Loading in...5
×

Agile the Pivotal Way

299

Published on

Given at the DaVinci Institute 3/20

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

No Downloads
Views
Total Views
299
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Agile the Pivotal Way"

  1. 1. agile developmentTHE PIVOTAL WAYMike GehardSoftware Engineer, Bouldermgehard@pivotallabs.com@pivotallabs@mikegehard
  2. 2. PIVOTAL LABS• 200+ people in San Francisco, New York, Boulder, Los Angeles, Boston, London (for now)• Ruby on Rails, iOS and Android• Big name clients• Makers of Pivotal Tracker (used by 500K people)• Agile/XP since beginning of time GRUELING, HARD CORE, DISCIPLINED DEVELOPMENT PROCESS 2
  3. 3. FIRST, WE FEED 3
  4. 4. THEN WE STAND 4
  5. 5. AND THEN PAIR 5
  6. 6. AND THEN PAIR 6
  7. 7. WE TAKE OUR BREAKS 7
  8. 8. AND REPLENISH 8
  9. 9. A GRUELING DAY• 08:45 Breakfast• 09:05 All Hands Standup• 09:15 Team Standups• Lunch noon-ish• Ping pong at will• Done around 18:00* (*your mileage may vary) 9
  10. 10. IT’S ABOUT SUSTAINABILITY• Consistent, predictable delivery is at a premium• Tired developers leave bugs• Tired developers leave• Short-term bursts of productivity cost more in the long termHappy developers = productive developers 10
  11. 11. BUILDING SUSTAINABLE SOFTWARE IN A SUSTAINABLE WAY amazing secrets revealed!
  12. 12. GOALS OF OUR SOFTWAREPROJECTS• Get V1 of new product to market quickly• Malleable, change based on feedback• Predictable schedule with no surprises• Low bug count• Performant, scalable• Help client teams go faster and maintain it 12
  13. 13. TRADITIONAL SOFTWAREDEVELOPMENT IS EXPENSIVE• Growing maintenance debt• Rising defect rate• Increasing cost of change 13
  14. 14. 14
  15. 15. EFFECTIVE (AND SUSTAINABLE)SOFTWARE DEVELOPMENT...• Is mostly about communication• Needs to allow for change• Takes discipline and rigor• Needs to be constantly adjusted The XP philosophy embraces and enables these ideas. 15
  16. 16. OUR HISTORY WITH XP• Started with “by the book” XP in 1999• Helped Beck et al with the early books• Great early experiences with XP• Thinking is always evolving• Various changes/additions to the process Bottom line: it’s a truly different way to build software, with awesome results. And it’s fun, day after day. 16
  17. 17. CORE PRACTICES October 12, 2012
  18. 18. ALL PAIRING, ALL THE TIME 18
  19. 19. PAIR PROGRAMMING• Developers sit in pairs• All machines are communal• No laptops/iPhones• Ping pong pairing• Frequent pair rotation• UX designers pair with developers as needed 19
  20. 20. PAIRING BENEFITS• Higher quality code• Shares codebase knowledge quickly• Very high bus count• More focus• Greater discipline around other technical practices Pairing is our competitive advantage. 20
  21. 21. PAIRING COMBINATIONS 21
  22. 22. PAIRING COMBINATIONS 22
  23. 23. PAIRING COMBINATIONS 23
  24. 24. PAIRING COMBINATIONS ? ? ? ? ? ? ? ? 24
  25. 25. PAIRING COMBINATIONS ? ? ? ? ? ? ? ? 25
  26. 26. PAIRING COMBINATIONS 26
  27. 27. 100% TEST DRIVEN• No production code written without a failing test• No code checked in without running tests• Focus on organization and readability of tests• Focus on keeping tests fast• Tests are for design and regression Keeps cost of change constant. 27
  28. 28. RUTHLESS REFACTORING• Code evolution• Incremental design towards patterns• It takes discipline, but pairing helps Tells you when something is resistant to change. 28
  29. 29. CONTINUOUS INTEGRATION• Critical to maintain constant cost of change• When to release is a business decision 29
  30. 30. THE TEAM 30
  31. 31. THE TEAM• Small, typically 2-4 pairs• Co-located, or intermingled-then-remote• Daily standups, weekly planning meetings• Same hours• Stable anchor, but frequent cross-team rotation Software development is a team sport! 31
  32. 32. INVOLVED CUSTOMER• Within earshot and always available• Empowered to make decisions• Maintains prioritized backlog• Accepts/rejects stories continuously• Close collaboration with design/UX Constantly aware of situation. 32
  33. 33. 33
  34. 34. RETROSPECTIVES
  35. 35. TECHNICAL EXPERTS • Lead in specific tech area • Guest pairs on teams as needed • Blog & tech talk regularly 35
  36. 36. HIRING FOR APTITUDE ANDCULTURAL FIT
  37. 37. THANK YOUMike GehardSoftware Engineermgehard@pivotallabs.com@pivotallabs@mikegehard 37

×