Software Documentation

Siddhant Pageni

Techinal Lead

Documentation is a written record of anything of your interest. It can be provided on any digital or analog media such as online, paper, CDs and quick reference guide.  

What is DOCUMENTATION?
Documentation is a written record of anything of your interest. It can be provided on any digital or analog media such as online, paper, CDs and quick reference guide.   

What is SOFTWARE DOCUMENTATION?
Software documentation is referred to as the written text and collection of images that helps in software development.    

When to start SOFTWARE DOCUMENTATION?
Basically the software documentation starts from the Inception phase, which is the very first stage of Software Development Life Cycle (SDLC) and ends at the Transition phase, which is the last stage of Software Development Life Cycle (SDLC).

Relation between SDLC phase and documentation?
Software Development Life Cycle has four phases:

Inception Phase:
This is the first phase of SDLC where the idea of the software is discussed and conclusion is made on if the development process is to be further continued. Documentation in this phase include the quick note taking of the discussion topics, business ideas and many more. Rough sketch of the software business idea in the form of some diagram can be included in the document.

Elaboration Phase
This is the second phase of SDLC where the idea of the inception phase is provided the detailed architecture. Various diagrams such as class diagram, flow diagram, sequence diagram, use case diagram, Entity Relationship diagram etc are made which are all the part of the documentation in this phase. 

Construction Phase:  
This is the third phase of the SDLC. In this phase the coding of the software is done. The documentation of this phase basically helps to keep track of the construction process. A good documentation in this phase will help the review of the code in the later phases.

Transition Phase:
This is the fourth and last phase of the SDLC. In this phase the software product is provided to the customer. The documentation related to the user manual, and guide is created in this phase.

Types of DOCUMENTATION?
On abstract Documentation can be of two types:

Internal Documentation: Internal Documentation in Software development is done directly on the code itself. This type of documentation help the developer itself later when they are reviewing the code written by themselves in the future. It mainly includes the documentation done in the construction phase of SDLC.

Internal Documentation: External Documentation in Software development is the documentation done in the paper or other media (not directly on the code). It mainly includes the documentation done in the SDLC phases other than the construction phase.

WHY to document?

Memory: Complete a meeting, get out of the hall and have a cup of coffee. You will forget more than half of the topics you have discussed in the meeting. If you have properly documented the entire thing, then no matter how many days later you look at the document, you will always remember everything discussed in the meeting.

Troubleshooting: It's obvious that we will always face issues during the use of the software. In that case we will always need to come back and revisit the code. If the code and its architecture was well documented, then it will save us a lot of time in troubleshooting.

Success Metric: Well documented software is always a metric for success. A well documented project can go into rapid development and produce a successful software.