Monday, August 22, 2005

Software Documentation

Why do we do documentation?Various answers may be to have a formal approach, to keep track of changes, to describe software creation process and to describe the software itself.
The basic necessity is knowledge sharing between different individuals across space and time. The documentation creator and consumer can access it at different times and across different spaces the information needs to be formalized and concretize.

But why should we follow template based files stored in hierarchical folder system. The ultimate requirement is "knowledge transfer" from "knowledge creator" to "knowledge consumer". Why not look at the least noisy and most compressed form of communication in this process? Or infact a data code with an interface surrounding it, which will answer various aspects of documentation (this idea came because if I have ot search a particular aspect of a doc i have to search the whole doc manualy or put a text search)
Why not model the software as a 3-D object which a viewer can manipulate and see how twisting one module strains and effects other modules. This can help in visualization and deeper insight into the software rather than a 2-D diagram followed by loads of text to support it.

Why cant it all be done using diagrams, movies and sounds?

No comments: