Better Business Outcomes
Through Extreme Programming and Continuous Deployment
Cover w/ Image
Hi! I’m Simon Duffy
I’ve been building software products for 15
years, primarily in Product Management roles.
I gravitate towards opportunities where I get
to work in teams and love doing things for the
first time.
I believe ….
- the secret sauce of high performing
teams is micro-communication
- product management is a scientific
process
- there are no beaches in the world like
Australia (that I’ve been to anyway)
Cover w/ Image
Discussion flow … (maybe)
■ The balanced team
■ XP
○ TDD
○ Paired Programming
○ Continuous Integration
■ Continuous Delivery
■ XP & CD >> Business Performance
The Balanced Product Team
Lean Startup
Reducing the risk of building the
wrong thing while comfortably
changing direction
User Centered Design
Ensuring the software solves a real
problem for real users in a desirable
and usable product.
Extreme Programming
Building working software at a
consistent speed and quality in the
face of changing requirements.
Development Design Product Management
Balanced Team
Lean Startup
Reducing the risk of building the
wrong thing while comfortably
changing direction
● Minimum Viable Product (MVP)
definition
● Identify risky assumptions
● Lean experiments
● Data driven decisions
User Centered Design
Ensuring the software solves a real
problem for real users in a desirable
and usable product.
Extreme Programming
Building working software at a
consistent speed and quality in the
face of changing requirements.
Development Design Product Management
PRACTICES
Product Management
Lean Startup
Reducing the risk of building the
wrong thing while comfortably
changing direction
● Minimum Viable Product (MVP)
definition
● Lean experiments
● Identify & test assumptions
● Data driven decisions
User Centered Design
Ensuring the software solves a real
problem for real users in a desirable
and usable product.
● User Interviews
● Ethnographic studies
● Persona definition
● Prototype creation
Extreme Programming
Building working software at a
consistent speed and quality in the
face of changing requirements.
Development Design Product Management
PRACTICES PRACTICES
User Centered Design
Lean Startup
Reducing the risk of building the
wrong thing while comfortably
changing direction
● Minimum Viable Product (MVP)
definition
● Lean experiments
● Identify & test assumptions
● Data driven decisions
User Centered Design
Ensuring the software solves a real
problem for real users in a desirable
and usable product.
● User Interviews
● Ethnographic studies
● Persona definition
● Prototype creation
Extreme Programming
Building working software at a
consistent speed and quality in the
face of changing requirements.
● Paired Programming
● Short iterations
● Continuous Integration
● Test-Driven Development
Development Design Product Management
PRACTICES PRACTICES PRACTICES
Development
”Continuous Delivery is the ability to get
changes of all types—including new
features, configuration changes, bug fixes
and experiments—into production, or into
the hands of users, safely and quickly in a
sustainable way.”
Principles:
1. Build quality in
2. Work in small batches
3. Computers perform
repetition, humans solve
problems
4. Relentlessly pursue
continuous improvement
5. Everyone is responsible
Measuring software delivery performance *
Metrics Definition
Deployment
Frequency
Deployment to Production or an App Store *Proxy for
batch size
Lead Time for
Changes
Code committed to successfully running in Production
MTTR Mean time to restore service
Change Failure
Rate
% of changes that result in degradation of service or
remediation
* Referencing ‘Accelerate’ by Nicole Forsgren, PhD, Jez Humble and Gene Kim from this point onwards
Measuring software delivery performance
Metrics High Performers Medium Performers Low Performers
Deployment
Frequency
On demand
(multiple per day)
Between once per
week and once per
month
Between once per
week and once per
month
Lead Time for
Changes
Less than one hour
Between one week
and one month
Between one week
and one month
MTTR
Less than one hour Less than a day
Between one day
and one week
Change Failure
Rate
0-15% 0-15% 31 - 45%
Measuring Business Performance
Profitability
Market
share
Productivity
Commercial measurements only
Measuring Business Performance
Profitability
Market
share
Productivity
High performing software delivery
organizations were twice as likely to meet or
exceed these goals
How XP and CD enable software delivery performance
Metrics Agile XP & CD Practices
Deployment Frequency Highly correlated to implementation of version
control and continious delivery
Lead Time for Changes Highly correlated to implementation of version
control and test automation
MTTR Highly correlated to version control and
monitoring
Change Failure Rate Independently correlated to the other three
combined
XP and CD key capabilities
8 statistically significant capabilities to improve SW performance:
● Version control
● Automate your deployment (the 10 minute build)
● Implement CI
● Trunk based dev methods
● Test automation
● Manage test data
● Build security concerns in
● Implement CD
Transform your entire business—not just your ITTECHNOLOGY
CULTURE Build with
empathy
PROCESS
Continuously
improve
TOOLS
Focus on developer
productivity
PLATFORM
Run any app, on every
cloud, using one platform
MODERN
SOFTWARE
PROCESS
Transforming How The World Builds Software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

Enabling Business Outcomes Through Extreme Programming and Continuous Delivery

  • 1.
    Better Business Outcomes ThroughExtreme Programming and Continuous Deployment
  • 2.
    Cover w/ Image Hi!I’m Simon Duffy I’ve been building software products for 15 years, primarily in Product Management roles. I gravitate towards opportunities where I get to work in teams and love doing things for the first time. I believe …. - the secret sauce of high performing teams is micro-communication - product management is a scientific process - there are no beaches in the world like Australia (that I’ve been to anyway)
  • 3.
    Cover w/ Image Discussionflow … (maybe) ■ The balanced team ■ XP ○ TDD ○ Paired Programming ○ Continuous Integration ■ Continuous Delivery ■ XP & CD >> Business Performance
  • 4.
  • 5.
    Lean Startup Reducing therisk of building the wrong thing while comfortably changing direction User Centered Design Ensuring the software solves a real problem for real users in a desirable and usable product. Extreme Programming Building working software at a consistent speed and quality in the face of changing requirements. Development Design Product Management Balanced Team
  • 6.
    Lean Startup Reducing therisk of building the wrong thing while comfortably changing direction ● Minimum Viable Product (MVP) definition ● Identify risky assumptions ● Lean experiments ● Data driven decisions User Centered Design Ensuring the software solves a real problem for real users in a desirable and usable product. Extreme Programming Building working software at a consistent speed and quality in the face of changing requirements. Development Design Product Management PRACTICES Product Management
  • 7.
    Lean Startup Reducing therisk of building the wrong thing while comfortably changing direction ● Minimum Viable Product (MVP) definition ● Lean experiments ● Identify & test assumptions ● Data driven decisions User Centered Design Ensuring the software solves a real problem for real users in a desirable and usable product. ● User Interviews ● Ethnographic studies ● Persona definition ● Prototype creation Extreme Programming Building working software at a consistent speed and quality in the face of changing requirements. Development Design Product Management PRACTICES PRACTICES User Centered Design
  • 8.
    Lean Startup Reducing therisk of building the wrong thing while comfortably changing direction ● Minimum Viable Product (MVP) definition ● Lean experiments ● Identify & test assumptions ● Data driven decisions User Centered Design Ensuring the software solves a real problem for real users in a desirable and usable product. ● User Interviews ● Ethnographic studies ● Persona definition ● Prototype creation Extreme Programming Building working software at a consistent speed and quality in the face of changing requirements. ● Paired Programming ● Short iterations ● Continuous Integration ● Test-Driven Development Development Design Product Management PRACTICES PRACTICES PRACTICES Development
  • 9.
    ”Continuous Delivery isthe ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” Principles: 1. Build quality in 2. Work in small batches 3. Computers perform repetition, humans solve problems 4. Relentlessly pursue continuous improvement 5. Everyone is responsible
  • 10.
    Measuring software deliveryperformance * Metrics Definition Deployment Frequency Deployment to Production or an App Store *Proxy for batch size Lead Time for Changes Code committed to successfully running in Production MTTR Mean time to restore service Change Failure Rate % of changes that result in degradation of service or remediation * Referencing ‘Accelerate’ by Nicole Forsgren, PhD, Jez Humble and Gene Kim from this point onwards
  • 11.
    Measuring software deliveryperformance Metrics High Performers Medium Performers Low Performers Deployment Frequency On demand (multiple per day) Between once per week and once per month Between once per week and once per month Lead Time for Changes Less than one hour Between one week and one month Between one week and one month MTTR Less than one hour Less than a day Between one day and one week Change Failure Rate 0-15% 0-15% 31 - 45%
  • 12.
  • 13.
    Measuring Business Performance Profitability Market share Productivity Highperforming software delivery organizations were twice as likely to meet or exceed these goals
  • 14.
    How XP andCD enable software delivery performance Metrics Agile XP & CD Practices Deployment Frequency Highly correlated to implementation of version control and continious delivery Lead Time for Changes Highly correlated to implementation of version control and test automation MTTR Highly correlated to version control and monitoring Change Failure Rate Independently correlated to the other three combined
  • 15.
    XP and CDkey capabilities 8 statistically significant capabilities to improve SW performance: ● Version control ● Automate your deployment (the 10 minute build) ● Implement CI ● Trunk based dev methods ● Test automation ● Manage test data ● Build security concerns in ● Implement CD
  • 16.
    Transform your entirebusiness—not just your ITTECHNOLOGY CULTURE Build with empathy PROCESS Continuously improve TOOLS Focus on developer productivity PLATFORM Run any app, on every cloud, using one platform MODERN SOFTWARE PROCESS
  • 17.
    Transforming How TheWorld Builds Software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.