History Of Extreme Programming

Short history ...

Kent Beck found himself dictating practice on a project for which he had assumed some personal risk. Unsure of which to emphasize more, he chose to "turn all the knobs to ten."

More history ...

Kent drew on the experiences of many when he chose which knobs to turn. And the knobs alone only set the course, many more made it work. Finally the technology, or at least the ideas motivating the technology, played an important role too. At risk of writing myself too firmly into XP's history, I begin this page with a summary of events. -- Ward Cunningham

Learning by Programming

Christopher Alexander recommends an incremental process to design infused with knowledge handed-down through generations of stakeholder designers.

Seymour Papert connects the act of programming with learning. Alan Kay imagines the Dyna Book (think PDA) as a Sketch Pad for such learning, and includes modeling and therefore objects.

After rediscovering Pair Programming, Ward And Kent aggressively author fifteen important frameworks in as many months. In an effort to summarize the experience they recommend, Be Valuable.

Ward attempts to recreate his experience with Kent, this time in a commercial software development (Wy Cash). He introduces specific practices to preserve design flexibility in the face of customer demands and fluid schedules.

The Hillside Group favors high risk for high reward; launches the PLoP conference to create a literature of practical programming experience. The group nurtures a set of values that become core to XP.

Harmonic Convergence

Kent writes programming patterns for a client. They are well received, but not totally effective. If not the whole solution, they are at least an important part. The patterns grow to become Smalltalk Best Practice Patterns.

In a Hillside Pattern Mining exercise, Ward and Kent discover their views on development have broadened in identical ways since leaving research. Jim Coplien finds their solidarity startling, especially in the few places they disagree with his own findings in Organizational Patterns. Ward conceives wiki as the Ultimate Test For Joint Ownership. Ironically Cope clones wiki and adds protection.

Ward writes organizational/programming patterns for PLoP, dubbed Episodes Pattern Language, after the pattern in which insight becomes tangible through programming. Ron Jeffries assembles small team to build core of a large product; retains Ward to help with performance problems; gets pitched Episodes on the side.

Kent works on the Well Fleet project for Hewitt Associates. Here he first consistently teaches a team Unit Testing, the Smalltalk Best Practice Patterns, and clear System Metaphors. The project goes into production with very little of the usual running around. (Three years later (mid 1999) the team culture is still firmly in place).

Kent is retained to performance tune Chrysler payroll project. He finds deeper problems, tells top management to start over, then accepts the job of coaching the team. This is the point at which Kent "turns the knobs", drawing on his experience with Smalltalk, Patterns and Hillside. Kent recruits Ron to make it so.

Sue Unger, Chrysler CIO, offers up her brightest (and probably most expensive) programming team working on an important Y2K problem to Kent to do with as he pleases. A visionary in her own right she believes in Kent and supports his new methodology.

Embracing Reflection

Ron takes coaching position on restarted Chrysler project; draws on personal programming and managing experience for confidence; relies on Kent for initiative; is exempt from assigned tasks so he is free to tune the process.

(Many events go here. Kent or Ron will have to report them. Needless to say, both Kent and Ron had the self confidence to do something different, and enough reflective ability to see what that should be, even under pressure.)

Ron begins writing about XP on wiki and finds a positive reception, probably due to self selection of the audience. Ron writes lots more; some readers miss wiki before XP; others try XP and report mixed results; Ron helps.

See original on c2.com