Recognizing the need to measure the maturity of software for reuse, NASA Earth Science Data Systems (ESDS) Software Reuse proposes a set of Reuse Readiness Levels (RRLs). The maturity of a particular technology can be measured in various ways, one common method being with Technology Readiness Levels (TRLs) or other similar measurements. However, the ability or readiness of a particular technology to be reused is generally not considered, or plays only a small role if it is considered.
In its review of potential measures for software reuse readiness, NASA Earth Science Data System (ESDS) Software Reuse has examined the measures of technology and software maturity mentioned above and in the References section, which were selected because they generally focus on measuring the maturity of software, and found that these typically do not consider reuse/reusability in their measures. The emphasis of such measures appears to focus on the maturity of the technology or software as a whole. When reusability of software and related artifacts is considered, it is frequently in a limited manner. For example, the Open Process Framework’s Technology Readiness Assessment does include reuse, but only in terms of reused critical technologies. The reuse of non-critical technologies is not addressed.
The WG has identified the lack of attention paid to the reusability of technology as a shortcoming of existing TRLs and other measurements of technology maturity. When the WG surveyed members of the Earth science community on their reuse practices and experiences, the results showed that the reuse of existing technologies is most often performed in order to save time, save money, and ensure the reliability of the product. Having a framework tool to assess and quantify a software asset’s readiness to be reused would be a valuable aid to reusers in achieving these goals. It also could help software adopters to understand what the asset will offer and provide a sense of how much modification may be necessary to meet their needs. If a measure of reusability were included as an element of metadata for assets in software catalogs and repositories, it could assist potential reusers in making decisions on which software assets to reuse. While this would not eliminate the need for the complete testing of candidate software assets to determine their viability as a solution, it could assist software developers in narrowing down the number of potential solutions to be fully examined and tested. The availability of such measures could increase the efficiency of the process by which developers find, assess, and select reusable software assets for reuse in their projects.
Therefore, Software Reuse recommends the adoption of Reuse Readiness Levels (RRLs) that specifically address the maturity of software in the sense of reusability as a means for encouraging and enabling software reuse, within the Earth science community and within other communities that use software to complete their objectives.