Shredded paper

Have you ever wished that you had more information about the code you have in front of you? The agile manifesto has the form of A is valued over B. It is putting perspective on the tradeoffs of what to emphasis, and has played a big role in the development of the IT-industry, bringing value. Taking it to heart can, however, go too far. Here I will make yet another argument not to skip B totally, just because A is more valuable. This argument is about information, context and history.

Individuals and interactions over processes and tools

With people working closely, preferably in the same room, the result will be better. But with only verbal communication there would be no ticket systems, version control data or minutes from sprint meetings to tell the story about the work.

Working software over comprehensive documentation

Taken to its extreme, this could be compiled source code with no other information accompanying it.

Customer collaboration over contract negotiation

Working tightly with the customer, a relationship based on good communication and trust, there might not even be a contract. But a contract is also an artefact of that relationship, that can tell stories about it to those who come after.

Responding to change over following a plan

Working with one thing at the time, measuring effect as we go, there might not even have to be a plan. The step we are at now will get results directing the next step. That is a great way to get value through the door. But without a plan, there will be one place less where our intentions and dreams are recorded. In worst case we end up with a compiled binary and nothing else. With no artefacts produced by processes, tools, contracts, documentation or plans, there are no clues to how the product ended up the way it is.

That is, while there is value in the items on the right, we value the items on the left more.

One of the values in the items to the right is communication with the future. Telling coworkers to come, or future versions of ourselves, the context of our decisions. When agile “goes overboard” this is one of the things that are lost. Few projects end up as only a compiled binary, but a lot is left with less context than would be helpful. The understanding of software is dependent on context. Tell the story of you software with deliberation when cutting down on accidental artefacts. Do not let your reasoning go traceless.

Related texts

A single frosted leaf with clear contours and veins.

TDD in the context of writing code to be read

Wunder Baum hanging from a car window (Known as Little Trees in most English-speaking countries)

Wunderbaum testing