DEV3L on Extreme Programming Explained
Tags: agile, xp
Published: 2021-02-08 03:49:24

---
title: DEV3L on Extreme Programming Explained
published: true
description: Although Extreme Programming has been around for over twenty years now, the methodologies and concepts explained would be considered radical to many organizations.
tags: agile, xp
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/zatiaprgr8opdopj73hv.jpg
---

Although **Extreme Programming** has been around for over twenty years now, the methodologies and concepts explained would be considered radical to many organizations. In [Extreme Programming Explained - Embrace Change](https://www.goodreads.com/book/show/67833.Extreme_Programming_Explained), [Kent Beck](https://twitter.com/KentBeck) explains how a set of aligned values, combined with a human-centric approach to software development, and focus on shortening feedback cycles, dramatically changes the programming landscape.

![](https://pbs.twimg.com/media/EsIlV-wWMAIWefx?format=jpg&name=medium)

`XP is about social change`

`Turn the dials to 10` - Extreme

![](https://pbs.twimg.com/media/EsIlWN3WMAAKcRo?format=jpg&name=medium)

# Values:
- communication
- simplicity
- feedback
- courage
- respect

Find starting place, get started, and improve from there

![](https://pbs.twimg.com/media/EsIlWaVXMAA1IDj?format=jpg&name=medium)

No one stumbles into excellence

# Principles:
- humanity
- economics
- mutual benefit
- self-similarity
- improvement
- diversity
- reflection
- flow
- opportunity
- redundancy
- failure
- quality
- baby steps
- accepted responsibility

Software Development is a game of insight that comes to prepared, rested, and relaxed minds

# Practices:
- sit together
- energized work
- pair programming
- stories
- weekly cycle
- quarterly cycle
- slack
- ten-minute build
- continuous-integration
- test-first programming
- incremental design

![](https://pbs.twimg.com/media/EsIlWzBWMAA3HxO?format=jpg&name=medium)

**Write all production programs with two people sitting at one machine**. Beck's experience: "Pairs are more than twice as effective" - more value

![](https://pbs.twimg.com/media/EtBvOiFXEAI50_f?format=jpg&name=medium)
 - [Llewellyn Falco](https://twitter.com/llewellynfalco)

Longer wait to integrate - more costs and more unpredictable

If it's hard to write a test,
it's a signal that you have a design problem,
not a testing problem

Incremental design suggests the most effective time to design is in light of experience

Change begins with awareness

# Corollary Practices:
- real customer involvement
- incremental deployment
- team continuity
- shrinking teams
- root-cause analysis
- shared code
- code and tests
- single code base
- daily deployment
- negotiated scope contract
- pay-per-use

# XP Health Metrics:
- defect count
- flow (idea to revenue)

Incentivize team performance over individual performance,
social over cowboys

# Theory of Constraints:

Maximize production capacity of the system, need to maximize throughput at bottleneck - avoid the local maximum trap
- value stream map
- implement pull system, not push

![](https://dev-to-uploads.s3.amazonaws.com/i/w35c5uhtcjvvp52n1o2a.png)

If bottleneck exists outside of development,
then answer must come from outside

![](https://dev-to-uploads.s3.amazonaws.com/i/9wpzu5yfmytw3mb6g2ly.jpeg)

# Planning:

`Planning XP is an activity, not a phase`

Continuous planning to determine how much can get done each iteration

Iron Triangle, only scope negotiable

*More time at the desk does not equal increased productivity for creative work*

Plan based upon "yesterday's weather",
past iteration done to plan next capacity

# Quality

Reduce the occurrence of defects to a level where trust can reasonably grow on the team

Sooner find a defect, cheaper to fix

# Continuous design

Test first decouples interface from implementation

When confronted with a ball of mud,
begin lighting lamps where you walk - campsite rule

![](https://dev-to-uploads.s3.amazonaws.com/i/yljn76qrr121t1ec5oty.jpeg)

If you eliminate enough waste, soon you go faster than the people who are just trying to go fast

# Community

First change myself,
then offer fruits of that change to others

Expecting others to do what you're not willing to try yourself is disrespectful and ineffective

---

"If you're looking for a world in which you can be comfortable, living in balance and do good business; XP is a way of thinking about and acting on your ideals."

---

Reference Journal Events: [Start](https://twitter.com/dev3l_/status/1351683916944568321), [Finish](https://twitter.com/dev3l_/status/1355705777428770817)