• Save
Agile the Pivotal Way
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Agile the Pivotal Way

  • 429 views
Uploaded on

Given at the DaVinci Institute 3/20

Given at the DaVinci Institute 3/20

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
429
On Slideshare
429
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. agile developmentTHE PIVOTAL WAYMike GehardSoftware Engineer, Bouldermgehard@pivotallabs.com@pivotallabs@mikegehard
  • 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. FIRST, WE FEED 3
  • 4. THEN WE STAND 4
  • 5. AND THEN PAIR 5
  • 6. AND THEN PAIR 6
  • 7. WE TAKE OUR BREAKS 7
  • 8. AND REPLENISH 8
  • 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. 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. BUILDING SUSTAINABLE SOFTWARE IN A SUSTAINABLE WAY amazing secrets revealed!
  • 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. TRADITIONAL SOFTWAREDEVELOPMENT IS EXPENSIVE• Growing maintenance debt• Rising defect rate• Increasing cost of change 13
  • 14. 14
  • 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. 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. CORE PRACTICES October 12, 2012
  • 18. ALL PAIRING, ALL THE TIME 18
  • 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. 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. PAIRING COMBINATIONS 21
  • 22. PAIRING COMBINATIONS 22
  • 23. PAIRING COMBINATIONS 23
  • 24. PAIRING COMBINATIONS ? ? ? ? ? ? ? ? 24
  • 25. PAIRING COMBINATIONS ? ? ? ? ? ? ? ? 25
  • 26. PAIRING COMBINATIONS 26
  • 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. RUTHLESS REFACTORING• Code evolution• Incremental design towards patterns• It takes discipline, but pairing helps Tells you when something is resistant to change. 28
  • 29. CONTINUOUS INTEGRATION• Critical to maintain constant cost of change• When to release is a business decision 29
  • 30. THE TEAM 30
  • 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. 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
  • 34. RETROSPECTIVES
  • 35. TECHNICAL EXPERTS • Lead in specific tech area • Guest pairs on teams as needed • Blog & tech talk regularly 35
  • 36. HIRING FOR APTITUDE ANDCULTURAL FIT
  • 37. THANK YOUMike GehardSoftware Engineermgehard@pivotallabs.com@pivotallabs@mikegehard 37