The main deliverable in Agile is a working software and not documentation. Documentation is a support to get the working software. In traditional delivery cycle, a lot of documentation is generated in the design and requirement phases. But we are sure most of the documentation were created just for the sake of it. Below are the some of the key points to make documentation Agile:
- Before creating any document, ask the question do we need it and if we do, who is the stakeholder. The document should exist only if needed and not for the sake of existence.
- The most important thing is we need to create documentation to provide enough data and no more than that. It should be simple and should communicate to stakeholders what it needs to communicate. For instance, the below figure ‘Agile documentation’ shows two views for a simple class diagram. In the first view, we have shown all the properties for the Customer and the Address classes. Now have a look at the second view where we have only shown the broader level view of the classes and relationships between them. The second view is enough and not more. If the developer wants to get into the details, we can do that during development.
- Document only for the present and not for the future. In short, whatever documentation we require now, we should produce and not what we need in the future. Documentation changes its form as it travels through every cycle. For instance, in the requirement phase it’s the requirement document, in design it’s the technical documentation, and so on. So only think which document you want to create now and not for the future.