Agile manifesto: Why software is more important than documentation

Working Software

Intro

This is the second blog post regarding the Agile Manifesto. Have a read regarding “Individuals and interactions over processes and tools” on a separate page.

Working software over comprehensive documentation

AgileManifesto.org

This is in my opinion the least important principle of the Agile Manifesto. It means that while documentation is needed and needs to be done too, delivering working software is still more important.

What does it mean in the real world?

I’d like to see two main points in this principle:

Deliver the thing!

As obvious as it sounds, sometimes it is not. Many years ago I served as a Scrum Master for two DevOps Teams. One of the teams was in the midst of the last sprint before shipping out an important product increment for the customer. Two days before the sprint review everything looked good and the team was pumped about what they achieved, which was a fantastic feeling. One day before the sprint review, one of the developers realized, that we completely neglected product documentation, which was required by the customers. This is why he was seconds before canceling the sprint review because obviously, we have failed to deliver.

The principle of working software over documentation helped me in my role since it made clear the obvious: While we possibly didn’t achieve 100% the time to market was still there and would have been crazy to deny the increment because of missing documentation!

Technical Documentation – Win for TDD

As some of you might know, I’m a big fan of test-driven development. Besides the obvious benefits of creating unit tests in the development process, this also leads to way better and clearer structured code, especially when also used with the Clean code principles.

Why do I mention this here? It’s another example I have experienced since often (well yes way less now than 5 years ago) there is always some kind of technical documentation needed – Either for other future development team members or for installation. Guess what? TDD and clean code make your code lovely, nice to read, and reduce the need for any other documentation drastically.

What is AI about to say?

You know the trick by now. I’d like to generate an appropriate picture for this topic and here we go:

Leave a Reply

Your email address will not be published. Required fields are marked *