SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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
 

Dernier

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

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