Four reasons your company's software isn't well documented.

Feb. 24, 2023Man coding

Software documentation is an integral part of any software development process. It provides a roadmap for developers, testers, and end-users to understand how a particular software system works. However, documenting software and keeping it up-to-date can be challenging, and often, it is overlooked in the development process.

Time for documentation is not included in the ticket estimation process.

When estimating tickets, we often only think about things parts of the software development process that are vital to making the feature work right now. We fail to consider the future maintainability of that software and, more specifically, the documentation. So next time you are thinking about those pesky estimations, go through this checklist.

  1. How much time will it take to develop this feature?
  2. How much time will it take to test this feature?
  3. How much time will we spend on project management related to this task?
  4. How much time will it take to write the documentation for this feature?

Consider separating the documentation part into a separate ticket. Otherwise, if the ticket goes over the estimation, usually, the first thing that gets skipped is the documentation. While this often makes sense in the short term, it will have negative consequences in the future. When you have a separate ticket, you can only clear your board of tickets if you write the documentation.

Documenting isn't part of your developer's workflow.

Documenting is often seen as a separate process from coding. But by writing documentation throughout the process, developers can identify potential issues and areas of improvement before they become significant problems. This can reduce the likelihood of bugs and other issues arising later in the development cycle, resulting in a more stable and reliable product.

💡

Quick tip

Next time you create an API, documenting it before implementing it, is a great way to organize your thoughts and think about how users will use the API.

Using a tool like Swagger even gives you a great UI to test your API with.

Keeping documentation up-to-date is also essential when maintaining software. It is often too easy to forget to update documentation when changing parts of the software, which makes the documentation outdated and ultimately useless.

Consider a version control integrated tool like DocumentationLab, which tracks if the file change has documentation related to it and reminds the developer to keep the docs up to date.

Your documentation platform isn't easy to write in.

Too often, project managers and upper management decide the documentation platform used. Yet it's the developers that are expected to use it daily. While things like integration with project management software are nice to have, the essential element of good documentation software is how easy and smooth the writing experience is.

So, next time you are considering which documentation platform to choose, ask your developers what they want from the documentation tool.

People rarely love documenting, but with the correct tools, there will be much less friction, and while it probably still won't be fun, it will be much more tolerable.

They may want a simple UI with no bloat. Perhaps they would never want to leave their IDE at all and would rather write the documentation to .md files and have automatic service building it to usable documentation. Whatever it is, a tool will surely be available that ticks the boxes.

Bad organization and duplicate pages.

If documentation is disorganized or difficult to navigate, developers may have to spend more time than necessary searching for information. This can lead to frustration and decreased productivity, as developers may become distracted from their primary tasks. Simply creating software documentation is not enough. It is equally important to ensure that the documentation is organized and easily accessible. Let's discuss the ways to improve your organization.

How to Improve Software Documentation Organization
  1. Create a Documentation Plan: The first step in improving software documentation organization is to create a plan. This plan should outline the types of documentation required, the format in which they should be presented, and the tools and resources needed to create and manage the documentation.
  2. Use a Standardized Format: Consistency is key in software documentation. Using a standardized format ensures the documentation is easy to read and understand. Take time to figure out what you want your documentation to look like and stick to that format.
  3. Have only a single source of information per project or feature. If this isn't the case, move all the documentation and delete and redirect the rest to this main documentation page. If your team isn't sure where to write the corresponding documentation for the feature they are working on, writing new documentation is practically useless because people won't be able to find and read it.
    Next time you plan to create a new space within your documentation, stop and ask yourself or your team if there is already a good place to put the information you are writing. There often is, and your team will thank you for it.

In conclusion, software documentation is an essential part of the development process, and it should be given the same priority as coding. It is crucial to understand the difficulties in documenting software and finding ways to overcome them.