Dials to 11
Modern
Extreme
Programming
@benjiweber
Extreme Programming
Feedback Loops
Turn up what works
“My goal… was to take everything I knew to be valuable about software engineering and turn the dials to 10."
(XP Explained)
“We would do everything that was absolutely necessary as intensely as we could imagine and we would ignore anything else.”
(XP Explained)
1 Paired Programming to
Mob Programming
2 Continuous Integration to
Continuous Deployment
3 Broadening
Collective Ownership
4 Test Driven Development to
Monitoring Driven Development
Paired to Mob Programming
"Write all production programs with two people sitting at one machine"
(XP Explained)
Feedback Loop
building the right things
building them right
Whole Team on the
Same Problem at the
Same Time using the
Same Workstation
Mob Fridays to
Fluid Mobs
Continuous Integration
to
Continuous Deployment
"I prefer a synchronous model"
(XP Explained)
"wait for the build to complete and entire test suite to run with no regressions before
proceeding"
(XP Explained)
"Synchronous build create positive pressure for a short, clear feedback cycle"
(XP Explained)
"Integrate and build a complete product. If the goal is... to deploy a website, deploy a website"
(XP Explained)
Test Environments are weak CI
Feature Branches are the
opposite of CI
Semver is the opposite of CI
"10 minute build"
(XP Explained)
"XP shortens the release cycle" …
"releases once a quarter"
(XP Explained)
10min build
10min to Prod
Broadening Collective Ownership
"Anyone on the team can improve any part of the system at any time"
(XP Explained)
Customer is the Bottleneck
Everyone can
- Change any part of the codebase
- Change any part of prod infra
- Influence product direction
- Run Experiments
TDD
to
Monitoring Driven Development
User Testing
Exploratory Testing
Many reasons for
System changes, Not just Deploys
Time
Users
1 Paired Programming to
Mob Programming
2 Continuous Integration to
Continuous Deployment
3 Broadening
Collective Ownership
4 Test Driven Development to
Monitoring Driven Development
#XPLives
@benjiweber
http://benjiweber.com/xp
Questions?
@benjiweber
http://benjiweber.com/xp
talent@unrulygroup.com