The right amount of documentation
While working on Agile software development projects, we often hear that we should "avoid writing useless documentation", or "write the minimum amount of documentation".

However, teams usually fail to interpret this principle in the situation at hand. More often than not, the team only produces documentation that is strictly required to deliver the software to production. This is a case of developer myopia.
It's a matter of correctly interpreting the right amount of documentation beyond what seems obvious for developers. In other words, the documentation that should be created is not determined solely by the development team, but also by other stakeholders.
The following needs for documentation can be used as a checklist.
- Users need a user manual.
- Maintenance team needs a document that describes how the product works in order to fix bugs and make it evolve without depending on the team that developed the product.
- Teams developing or maintaining other systems need to know how to interface their systems with the product.
- IT infrastructure team needs to ensure reliable product installation and updates, to understand how to remove, start, restart, and stop the product's services, to implement application security, and to understand the systems and network requirements.
- Controllers and auditors need to assess applicable controls according to internal standards or standards such as ISO, without depending on the development team.
The more complex the organisation, the more diverse stakeholders are.
As you can imagine, it is usually after the development team is disbanded that the lack of appropriate documentation starts causing problems – big problems.
Agile doesn't remove the need for documentation, it helps optimize what documentation should be produced (as little as possible while satisfying the needs) and when (as late as possible).
Interestingly, it brings us to broaden the definition of value – a central Agile concept. If it has to be produced, then it does deliver value. Therefore, value is not just "working software", it's everything that stakeholders need.