Introduction

One of the most controversial aspects of Extreme Programming (XP), and of all the "agile" methods, is reduced focus on up-front design. While agile proponents generally do recommend doing some up-front design, the rapidity with which we turn to programming seems dangerous, even foolhardy, to people who don’t understand or who have not yet tried what we teach.

For the past few years, I’ve been experimenting with these ideas. I start with a very simple design idea and implement features in a customer-driven order, using refactoring to keep the design just barely sufficient to the moment. One question I’ve been interested in was whether the code necessarily becomes brittle, hard to change, and unreliable or whether the process seems to ...

Get Extreme Programming Adventures in C# now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.