DEV Community

Aakhil Karthikkeyan
Aakhil Karthikkeyan

Posted on

Agile Documentation: Methodology & Best Practices

Since the introduction of the Agile Manifesto, software development has changed its trajectory. Moving from waterfall design to an agile way of building software provided greater business agility to listen and respond to evolving customer needs.

Agile software development laid a solid foundation for technical documentation to change the way technical documentation is produced. One of the core principles in the Agile manifesto is “Working software over comprehensive documentation”. This principle emphasizes two things for technical writers:

  • Stronger collaboration with the developers’ team to build documentation in line with the software development lifecycle.
  • Produce a minimum viable documentation that is good enough so that your customers can use that documentation right away.

In this, both software developers and technical writers are aligned to respond to change quickly rather than following a fixed plan. This sets the precedence for technical documentation team organisational structure change, documentation processes, and frameworks that adopt agile principles. Welcome to “Agile Documentation”, a newer way of building software/product documentation that offers business agility and competitive advantage.

What is Agile Documentation?

Agile is a lightweight framework that helps people, teams, and organizations generate value through adaptive solutions for complex problems. Agile documentation refers to the practice of producing documentation following the principles setup in the Agile manifesto. Technical writers work closely with software developers to prepare product documentation at a pace aligned with the developers with sprints.

Image description

The technical documentation adapts agile ceremonies including standups, sprint planning, and retrospective. All the learnings are shared amongst the product owner, and product managers. Adapting the principles of the agile manifesto inside the product documentation team supplements product features and provides a complete product experience

Importance of documentation in Agile software development

The agile manifesto lays out fundamental principles of the agile software development process such as

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

However, this manifesto leaves the implementation open thus a lot of people have different approaches at the beginning of the agile software movement. A lot of convergence and best practices emerged after a few years of many companies experimenting with agile ways of software development. Customer focus is the central theme of agile manifesto as software is a solution to a customer business problem.

Agile methodology provided relentless focus on customer business requirements and ensures that a Minimum Viable Product is built as a solution. In supporting the agile software solution, documentation should be accompanied with every software release. The importance of agile documentation in the agile software release cycle can be summarised as follows

  • Software and documentation shall be released simultaneously to maximize customer experience
  • Agile documentation processes to supplement software developers providing business agility
  • Documentation team and software developers adopting the same agile methodology and processes helps to get consistent practices across the team
  • Agile documentation processes set the stage for tighter collaboration with software developers
  • Agile documentation also helps with reducing time to value for customers to utilize the software solution holistically with accurate documentation
  • Communicate technical information to your customers such that the product value can be maximized
  • Compliance / regulatory bodies mandates to have technical documentation as part of their software product

3 Questions to ask while Creating Agile documentation

Creating documentation utilizing agile methodology is an art that can be mastered over a period. There are three important questions you need to ask while creating an agile documentation

1. What documentation to produce?

Figuring out “what” is the preliminary task for a documentation team as the product owner usually communicates “why” to the documentation team and software developers. Experienced agile documentation team usually have a framework for “what” as it depends on what purposes do the documentation serve and what it needs to encapsulate. The famous “what framework” in the agile documentation is Diataxis.  

Diátaxis framework in the agile documentation approach provides a holistic understanding of the needs of documentation users in their cycle of interaction with a software product. Diátaxis framework in the agile documentation lifecycle is easy to apply.

Image description

Source

The main questions you need to ask in understanding the “what” in agile documentation are

What documentation will be required before the project begins?

Diátaxis framework helps to answer this question as the type of documentation depends on the purpose it is going to serve. The tutorials, How-to guides, reference materials, and technical explanation requires a different style of writing for their intended audience. This is figured out before the sprint begins

What kind of documentation will be required during the project?

During the agile sprint, the scope of the software development might shift as the customer requirements are still evolving. During the sprint, the documentation team might need to change the documentation that is being produced. Depending upon the scope change or minor amendments to the sprint scope, the type of documentation varies

What kind of documentation will be required once the product has been deployed and implemented?

If the scope of the agile sprint has not been changed, then the final documentation will not see a change since what has been planned will be delivered. However, if the scope of the sprint has changed, then the final documentation after software deployment may look different. In this case, a continuous improvement process is integral to agile documentation

2. Where to keep documentation?

Continue reading the full article at Document360

Top comments (0)