Comprehensive Documentation

“Comprehensive documentation” is possibly the most misunderstood phrase in the Agile Manifesto. People see it and they think it means that they don’t have to—or shouldn’t—write anything down. They don’t understand that the value pair statement, “working software over comprehensive documentation,” emerged from an environment in which every decision had to be made and written down in a comprehensive requirements document before we could start writing code. We would spend months creating this artifact that provided no value to the customer.

Valuing “working software over comprehensive documentation” means don’t spend a lot of time writing a specification. Focus on identifying the smallest thing you can build that the customer will find valuable. Build that in a very short amount of time and get it into the customer’s hands so they can tell you whether this is what they were looking for or not. Then repeat the process.

If you need to start a fire, don’t waste time clearcutting a forest when all you really need is kindling and a few branches.