Thought LeaderNew⏱ ~2 minNOSEDK

Kent Beck

American software developer, born 1961. Created Extreme Programming, popularised test-driven development and wrote JUnit. "Make it work, make it right, make it fast" is his, and that is the order we follow.

Beck came out of the Smalltalk community of the late eighties and through the nineties. That is worth knowing, because the practices he is known for were not invented at a desk. They were lifted out of a way of working where the programmer sat inside the system while it ran, changed it and saw the effect immediately.

Extreme Programming took shape in 1996, during the Chrysler C3 project. XP named things that are obvious today and were not then: pair programmingDevelopment practice where two developers work together at one machine - one writes code, one reviews and thinks - continuously and synchronously., continuous integration, and the customer as part of the team rather than a party on the other side of a requirements document.

Test-driven development is the part that has travelled furthest, popularised through "Test-Driven Development: By Example" in 2002. The cycle is red, green, refactor: write the failing test, make it pass in the simplest way possible, then clean up the code while the test holds you accountable. The point is not test coverage. The point is that you have to describe what you want before you describe how.

He wrote JUnit with Erich Gamma in 1998. That framework became the template for the xUnit family, and thereby for what unit tests look like in practically every language today.

His mantra is an order, not three equal goals. Make it work. Then make it right. Then make it fast. Those who swap the first two end up with something elegant that does not solve the task, and those who skip the second end up with technical debtAccumulated costs of quick, short-term technological decisions - makes future development slower and more expensive. they did not choose.

Books: "Extreme Programming Explained" (1999), "Test-Driven Development: By Example" (2002), "Implementation Patterns" (2007).

MethodologyQualityDevelopment