SlideShare una empresa de Scribd logo
1 de 37
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

Más contenido relacionado

Similar a 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
 
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...Valerie Puffet-Michel
 
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 DevOpsSeniorStoryteller
 
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...Intelligent Software Solutions
 
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 ReplayCompuware
 
Agnostic Continuous Delivery
Agnostic Continuous DeliveryAgnostic Continuous Delivery
Agnostic Continuous DeliveryHervé Leclerc
 
It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny daybcoder
 
Friday final test
Friday final testFriday final test
Friday final testbcoder
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!Joachim Tuchel
 
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 amdocsYaki Koren
 
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 DevOpsIBM UrbanCode Products
 
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...Steven Hoober
 
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)Marco Corona
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inceptionudairaj
 
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-upAdam Kariv
 
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
 
Software Operability webinar
Software Operability webinarSoftware Operability webinar
Software Operability webinarHighOps Limited
 

Similar a 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
 

Más de Mike Gehard

Sustainable developmentwithoutninjas
Sustainable developmentwithoutninjasSustainable developmentwithoutninjas
Sustainable developmentwithoutninjasMike Gehard
 
Introduction to Pair Programming
Introduction to Pair ProgrammingIntroduction to Pair Programming
Introduction to Pair ProgrammingMike Gehard
 
Experiment Driven Development
Experiment Driven DevelopmentExperiment Driven Development
Experiment Driven DevelopmentMike Gehard
 
Better Ruby Through Design Principles
Better Ruby Through Design PrinciplesBetter Ruby Through Design Principles
Better Ruby Through Design PrinciplesMike Gehard
 
Developing Developers
Developing DevelopersDeveloping Developers
Developing DevelopersMike Gehard
 
Focus and Meditation
Focus and MeditationFocus and Meditation
Focus and MeditationMike Gehard
 
Agile the pivotal way
Agile the pivotal wayAgile the pivotal way
Agile the pivotal wayMike Gehard
 
Meditation and Software
Meditation and SoftwareMeditation and Software
Meditation and SoftwareMike Gehard
 

Más de 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
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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