What is Documentation in Software Engineering ?
Documentation is an important part of Software Engineering. It is a viable part of Software Development process and without it, it is hard to maintain any project and the developers have to re-invent the wheel.
a) For a programmer reliable documentation is always a must.
b) The presence of documentation helps keep track of all aspects of an application and it improves on the quality of a software product. Its main focuses are development,maintenance and knowledge transfer to other developers. Successful documentation will make information easily accessible, provide a limited number of user entry points, help new users learn quickly, simplify the product and help cut support costs.
c) Documentation is usually focused on the following components that make up an application : server environments, business rules, databases/files, troubleshooting, application installation and code deploy men.
Importance of Software Documentation:
- Clarify your business goals, requirements and activities: With a proper documentation, you can share the business goals and requirement with your managers and team mates so that they have a clear vision and goals and the activity they perform will be more towards the success.
- Design and Specify your product: This comes in Architectural/Design documents and it gives you complete overview of how your products look like.
- Everything is clearly explained: When you makes End User documentation of the product of software, you have to explain each and everything about its working. It describes each feature of the program, and assists the user in realizing these features.
- Any body can work on other’s code: If you are a developer, it is not sufficient to write good codes only but you also need to take cares about the documentation part, which can be helpful to other developers while working in a team.
- Helpful in proper communication: A good software documentation is helpful in proper communication. The written procedure helps you to make interaction within several departments.
Documentation may be in the form of time records, daily reports by a project manager, schedules, photographs, videos, correspondence either by a letter or an email or a fax, filing or by information logs. The importance of documentation is so tremendous, many project managers are now terming it their top priority while managing any kind of work.
- Documentation is the best, and sometimes the only way you can keep a record of the work done, the strategies used, the changes that occurred and all the little specifics an average human mind is capable of forgetting. Knowing the history of the project is essential for the current plan of action as well as how you proceed in the future.
- Your clients want answers all the time. So does your team and your own boss! Last but not the least and very importantly so, you yourself need answers too. Documentation helps you deal with all these queries.
- While carrying out a project, you may need to document every other thing to protect your own self from being accused falsely. People tend to blame project managers for whatever goes wrong. Documentation in the form of letters, emails, photographs or schedules is proof that protects you from lawsuits or other complications later on.
- Documentation is evidence of a good project management. It helps you track activities related to the project, find out if time constraints are being met, monitor productivity and plan for the future. A good project manager will never leave any loose ends to his project.
- By carrying out this important task, the project manager and the stakeholders are all expecting the same outcomes. There are no unpleasant surprises and no unknown risks.
- Conflicts, disagreements and problems amongst all parties seldom arise. When all aspects of the project are right in front of everyone, it leaves little room for argument.
- Documentation also helps every individual member involved to have complete knowledge of their responsibilities, have a clear idea of what is expected from them and how they need to manage their work.
- If the correct record keeping protocol is followed, it gives the project manager complete control over the project by being the best source of knowledge for the entire team.
Difference Between Internal documentation & External documentation.
|SNO.||Internal documentation||External documentation|
|1.||Internal documentation is written in a program as comments.||External documentation is written in a place where people who need to use the software can read about how to use the software.|
|2.||Internal documentation would be comments and remarks made by the programmer in the form of line comments||External documentation would be things like flow charts, UML diagrams, requirements documents, design documents etc.|
|3.||Internal Documentation is created within the programming department and shows the design and implementation of the project (flow charts, UML diagrams, design documents, etc.).||External Documentation is created by the user and Programmer/System Analyst.|