Extreme Programming

Extreme programming, or simply xp, collects complementary practices for developing useful software with a minimum of ceremony.

See Ward Cunningham for more about me and how I've approached building this site.

See Practice Now for reflections arising from my current work in both open source and commercial development.

See Ring of Truth for reviews of posts or papers that speak from experience that makes sense to me.

See Strength in Numbers for free and open or otherwise cleverly organized programming communities.

See Recent Changes for updates here and other sites you will encounter browsing.


At its inauguration xp offered a dozen or so practices that startled the programming community. Could it be so simple? Aren't those practices already discredited? Yes and yes. When they are applied consistently and with confidence they have been shown to work, work over time, and work to the strengths of everyone on a team.

The original practices included the advice to try new things, when they worked, do more, when they don't, do less. The humans and their computers thus become a complex adaptive system.

I am, with a few colleagues, the one that set this course in motion. I'm pleased with what has been discovered since but troubled that my now many colleagues have delegated the explaining to others that drag along a lot of complexity that distracts us from the essential act, programming.


A program instructs a future computer in a way that makes it more useful. If you encode such instructions you are programming. If you only guide others who are encoding such instructions, you aren't.

This site collects the discoveries of programmers. It is like a blog in that I write freely about things as they come to me. It is also like a wiki in that my words join others and are thus improved.

Computers are wonderful things. There are many ways to program them. I hope my observations are taken for what they are, the best of my experience creating value instructing them.