Working software over comprehensive documentation

How does working software decrease the need for documentation?

Documenting a system is a challenge. It may for instance be due to a lack of time or system complexity. The need for documentation has not changed and working software is becoming more important than before.

It is not an easy task to understand a system, without having information. The rules and process of a system are not always obvious. System development speed is also increasing each day. This has resulted in a greater need for documentation.

It seems that in reality we have not been able to align development and documentation. Time is limited and should be spent well. Creating documents which are not used or are outdated is a waste of time.

We have also seen an increase in more UX being done in teams. Good UX design limits the need for documentation.

The agile manifesto describes how we can find a balance between working software and documentation. Balance is not found by doing more documentation. It is also not found in not doing documentation. It describes a creative way to combine the two. The manifesto rely on good development practices.

The practices involves writing readable code which is modular and reusable. The manifesto is again not trying to replace existing ways of work. We need to write good software, which makes it managable. Simple code is also reused with more ease.

Reading well written code saves time and allows us to develop more code. UX being done correctly, is also needed for working software. Software needs to be usable, to be considered working software.

The agile manifesto addresses the idea, that we need to develop software in a smart way. We need to spend time to plan and consider how people will use the software. This approach will improve the quality of the software and less documentation is needed.