Why documentation is good (important)
Being a developer is definitely exciting, but how about being good proficient and exited in the
same time? One of the good ways to keep the job in a perfect development and business shape is to maintain and have
good documentation. The most important reasons why we need that are: knowledge transfer, application tracking (
while working on multiple projects ), software maintenance. Let's talk about important points:
The environment of the server:
Imagine maintaining and developing the application without understanding how the environment was set up. It will take bunch of time just to figure out the things, whereas with the documentation we can have easy start with understanding of:
- application details, the current version
- server parameters
- directory path for the code
- application access
- current OS
- POC in case of questions
Business understanding - what am I doing here?
The worst thing that could happen is if the manager or hired personal doesn't know what are they doing, why they are doing this or not something else. When people are on the same page and understand the purposes, functionality and goals - it's much easier to cooperate and work as a team. Also, from the side of a manager it will be more comfortable to analyze the possible problems, for developers catch the job easier and cut "on boarding" process, saving thousands of company's $ and gaining productivity.
We can handle most of the issues from the code side, but how about the data errors? Without good documentation it is very hard for a new developer to understand how a specific data-related problem was resolved before.
Installing, setting up configuration and launching applications from scratch might be tricky and unclear, every step of the process is very important. The good documentation will provide steps, list of libraries, server versions and parameters - everything that will ensure that environment is ready to be used for the project and works as intended.
Software and deployment
It's always good to have deployment processes to be documented when we release new updates. The information about releases, where they are located and could be found or where they need to be moved. The presence of good documentation in your company will make your team efforts efficient and successful in such processes as creating an app package, build to be deployed, finding the code repository and file updates.
To sum up
Writing docs sometimes is boring and time consuming process, but just remember that it's not supposed to be fancy - make it simple, easy to understand, functional and helpful. From my previous experience, the fact that we built docs upfront with both video/wiki formats saved us time and a lot of money. We on-boarded 15 new developers in record time - 4 weeks! (think about money and time resources, huge impact).