Application Documentation - An Integral Part of Software Development
Software development is an inherently detailed process. In order to manage such complex projects from the creation through maintenance phases, the organization and structure that application documentation provides for understanding coding changes, third-party software component integration and the overall clarity of complicated coding and testing processes cannot be underestimated.
Rarely are software applications created by one individual. Even a small application is almost always a product of at least several developers and over time, those developers have a tendency to come and go. During the creation process, it is up to the project manager to determine the guidelines a development team will follow in order to create a helpful road map for future developers if the need should arise. Probably one of the best benchmarks to use as to which processes to document, is to envisage what a new team member would need to know about the internal structure of a development project.
Of course each project is different, but in general, a new team member would need to know the names and locations of key files in the application. Describing various subroutines and functions, including the range of acceptable values and defining program constants and variables of where and how they are used in the code, are also of great help. Lastly, any complex modules, how they work and what external libraries or third-party applications they interact with are best explained as well.
Depending upon the length and complexity of the documentation, some comments are internal with the code or the comments may refer to an external help file for more extensive documentation. All coding languages accommodate internal comment lines and for accompanying programmer help files, word-processing or .PDF files are sufficient. For larger projects, a documentation tool such as Adobe FrameMaker or Atlassian Confluence is helpful. A good project manager will also ensure programmers follow a consistent path during the maintenance phase of a software project. At the very least, a mechanism to list the date of code modification, the author of any code change(s) and why they made changes, goes a long way to keep a working application as well-documented as possible.
For more information on how to keep your software projects organized and on track throughout all phases, please contact us.