return to list
RRL Criteria
1 Little or no internal or external documentation available. Source code is available, with little or no useful internal or external documentation.
2 Partially to fully commented source code available.. Source code is available and fully commented, but no other documentation is provided. It may be challenging for a good programmer to determine how to reuse the software.
3 Basic external documentation for sophisticated users available. For example, a README file, a “man” page, or command line usage examples. This type of documentation would be sufficient for a sophisticated user to figure out how to use the software, but probably not a general user.
4 Reference manual available. Reference manual provides complete documentation on use of the software, but may not be easily approached or accessed by general users. Some documentation relevant to customization is available.
5 User manual available. User manual allows a “normal” or general user to understand how to use and possibly customize
aspects of the software.
6 Tutorials available. Step-by-step walkthroughs of how the software is customized and used in various scenarios, demos, etc. This makes it very easy to understand/teach the software and use it in a new project.
7 Interface guide available.Documentation describes how to customize and interface the software with other software, programmatic interfaces, APIs, etc., so that it can more easily be embedded in a larger system.
8 Extension guide and/or design/developers guide available. An extension guide provides information on how to customize and add to the software, add plugins and the like, use internal programming “languages”, etc. A design/developers guide provides a description of internals, design documentation, internal documentation, etc. that is sufficient for someone “skilled in the art” to contribute to the development of the software or take over maintenance of the software.
9 Documentation on design, customization, testing, use, and reuse is available. All stages of the software engineering lifecycle are fully documented. This includes design and review artifacts, testing artifacts, customization, and regression tests. The documentation provided is easy to read/access and is appropriate for different categories of users.