Extreme Programming

It all started with Ward Cunningham and Kent Beck playing around with Smalltalk. They were both working at Tektronix, one of the companies that Xerox gave this new programming language as they began to realize that they could not commercialize their computer technologies coming out of PARC. One of Tek's engineers was working a new version of Smalltalk to increase its performance.

Smalltalk, as the first true object-oriented languages that had a Just-in-time compiler, was designed by Alan Kay as a learning language.

Using pair programming, this language allowed Cunningham and Beck to hack new solutions together faster than by using the standard Structured Planning model, called the "Waterfall Model" being used by software developers.

One day, a packaged arrived at Cunningham's home. It had no return address. Inside was a copy of Christopher Alexander's book, _A Pattern Language_.

Over the next 15 months, Cunningham and Beck experimented with creating patterns of practice to begin to define and share their experiences.

In 1995, Cunningham published a paper that defined this new pattern language of practice called "Episodes". Beck then went on to apply this these practices at Chrysler for a new payroll system they were developing. From that experience, he published in 1999 a book entitled _Extreme Programming Explained_ which launched Extreme Programming.

Beck came up with the name Extreme Programming (XP) as a riff off of the extreme sports movement, where athletes were beginning to challenge themselves to new heights of performance by new heights of risk. He sought to inspire similar challenges, with similar rewards, for programmers.

DOT FROM preview-next-diagram