SlideShare a Scribd company logo
agile development
THE PIVOTAL WAY

Mike Gehard
Software Engineer, Boulder
mgehard@pivotallabs.com
@pivotallabs
@mikegehard
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
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
•   Done around 18:00*    (*your mileage may vary)




                                                     9
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 term
Happy developers = productive developers




                                                       10
BUILDING SUSTAINABLE
    SOFTWARE IN A
  SUSTAINABLE WAY

   amazing secrets revealed!
GOALS OF OUR SOFTWARE
PROJECTS
•   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
TRADITIONAL SOFTWARE
DEVELOPMENT IS EXPENSIVE
• Growing maintenance debt
• Rising defect rate
• Increasing cost of change




                              13
14
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
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
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
•   Frequent pair rotation
•   UX designers pair with developers as needed




                                                  19
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
PAIRING COMBINATIONS




                       21
PAIRING COMBINATIONS




                       22
PAIRING COMBINATIONS




                       23
PAIRING COMBINATIONS



                  ?
              ?       ?
          ?               ?
              ?       ?
                  ?




                              24
PAIRING COMBINATIONS



                  ?
              ?       ?
          ?               ?
              ?       ?
                  ?




                              25
PAIRING COMBINATIONS




                       26
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
RUTHLESS REFACTORING
• Code evolution
• Incremental design towards patterns
• It takes discipline, but pairing helps

  Tells you when something is resistant to
                  change.




                                             28
CONTINUOUS INTEGRATION
• Critical to maintain constant cost of change
• When to release is a business decision




                                                 29
THE TEAM




           30
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
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
RETROSPECTIVES
TECHNICAL EXPERTS
 • Lead in specific tech area
 • Guest pairs on teams as needed
 • Blog & tech talk regularly




                                    35
HIRING FOR APTITUDE AND
CULTURAL FIT
THANK YOU
Mike Gehard
Software Engineer
mgehard@pivotallabs.com
@pivotallabs
@mikegehard




                          37

More Related Content

Similar to Agile the Pivotal Way

Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Eric Wu
 
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Micro Focus
 

Similar to Agile the Pivotal Way (20)

Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
 
Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...
 
Core Principles Of Ci
Core Principles Of CiCore Principles Of Ci
Core Principles Of Ci
 
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOpsSoftware Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
 
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
 
A Customer's Journey to Mainstreaming the Mainframe Webcast On-demand Replay
A Customer's Journey to Mainstreaming the Mainframe Webcast On-demand ReplayA Customer's Journey to Mainstreaming the Mainframe Webcast On-demand Replay
A Customer's Journey to Mainstreaming the Mainframe Webcast On-demand Replay
 
Agnostic Continuous Delivery
Agnostic Continuous DeliveryAgnostic Continuous Delivery
Agnostic Continuous Delivery
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
 
Friday final test
Friday final testFriday final test
Friday final test
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!
 
Goodbye scope anxiety hello agility: Kanban implementation case study at amdocs
Goodbye scope anxiety hello agility: Kanban implementation case study at amdocsGoodbye scope anxiety hello agility: Kanban implementation case study at amdocs
Goodbye scope anxiety hello agility: Kanban implementation case study at amdocs
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOps
 
Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...
 
Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inception
 
How to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-upHow to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-up
 
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
 
Software Operability webinar
Software Operability webinarSoftware Operability webinar
Software Operability webinar
 
Solr pattern
Solr patternSolr pattern
Solr pattern
 

More from Mike Gehard

Introduction to Pair Programming
Introduction to Pair ProgrammingIntroduction to Pair Programming
Introduction to Pair Programming
Mike Gehard
 

More from Mike Gehard (8)

Sustainable developmentwithoutninjas
Sustainable developmentwithoutninjasSustainable developmentwithoutninjas
Sustainable developmentwithoutninjas
 
Introduction to Pair Programming
Introduction to Pair ProgrammingIntroduction to Pair Programming
Introduction to Pair Programming
 
Experiment Driven Development
Experiment Driven DevelopmentExperiment Driven Development
Experiment Driven Development
 
Better Ruby Through Design Principles
Better Ruby Through Design PrinciplesBetter Ruby Through Design Principles
Better Ruby Through Design Principles
 
Developing Developers
Developing DevelopersDeveloping Developers
Developing Developers
 
Focus and Meditation
Focus and MeditationFocus and Meditation
Focus and Meditation
 
Agile the pivotal way
Agile the pivotal wayAgile the pivotal way
Agile the pivotal way
 
Meditation and Software
Meditation and SoftwareMeditation and Software
Meditation and Software
 

Recently uploaded

Recently uploaded (20)

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

Agile the Pivotal Way

  • 1. agile development THE PIVOTAL WAY Mike Gehard Software Engineer, Boulder mgehard@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
  • 7. WE TAKE OUR BREAKS 7
  • 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 term Happy developers = productive developers 10
  • 11. BUILDING SUSTAINABLE SOFTWARE IN A SUSTAINABLE WAY amazing secrets revealed!
  • 12. GOALS OF OUR SOFTWARE PROJECTS • 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 SOFTWARE DEVELOPMENT 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
  • 24. PAIRING COMBINATIONS ? ? ? ? ? ? ? ? 24
  • 25. PAIRING COMBINATIONS ? ? ? ? ? ? ? ? 25
  • 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
  • 35. TECHNICAL EXPERTS • Lead in specific tech area • Guest pairs on teams as needed • Blog & tech talk regularly 35
  • 36. HIRING FOR APTITUDE AND CULTURAL FIT
  • 37. THANK YOU Mike Gehard Software Engineer mgehard@pivotallabs.com @pivotallabs @mikegehard 37