After 12 years as a programmer, Kent Beck understood that there were bugs in the conventional approach to developing software. But it took one particularly rancorous gig for Beck to decide that there had to be a better way.
The project’s manager was “a tin-pot dictator” who pounded the table as he abused his programming staff, Beck recalls, blaming them for problems that were systemic.
By the second day on the job, Beck became furious — and was escorted out by the company’s security force. But an idea born in that confrontation would flower into Beck’s new strategy for software. He calls it extreme programming (XP), and it has attracted acolytes around the world. Beck has written a manifesto called Extreme Programming Explained: Embrace Change and has founded a nonprofit, the Three Rivers Institute, in Merlin, Oregon, to spread the XP gospel.
What’s so extreme about extreme programming? It is designed to turn the messy business of software development into a coherent, simple process. Beck’s methodology allows customers to rank-order features and to change their minds without recrimination from the tech staff. It emphasizes quick-release cycles of code, a focus on keeping the system as simple as possible, and constant testing.
There’s a cultural dimension to XP, too. It emphasizes the value of pairs of programmers working together, daily stand-up meetings, and communication with customers. Beck says that the interpersonal side of the equation is critical to XP’s success: “I couldn’t bear watching those programmers think that they were the ones screwing up.”