STARS Reuse Maturity Model: Guidelines for Reuse Strategy Formulation Margaret (Maggie) J. Davis Boeing Defense Space Group P.O. Box 3999, MS 87-37 Seattle, WA 98124-2499 Tel: (206) 773-3313 Email: mjdavis@stars.boeing.com Fax: (206) 773-4946 Abstract This position summarizes the Software Technology for Adaptable, Reliable Software (STARS) reuse concepts joint activity team's work to date on the concept of a reuse maturity model (RMM). It discusses the STARS approach, which is to evolve a RMM from the STARS Conceptual Framework for Reuse Processes (CFRP) [Cre92] in keeping with current notions of technology introduction and adoption. Further, the STARS notion of a RMM is as the basis for formulating an organization's short and long term strategies for improving their state of reuse practice with respect to a single domain. At this time, STARS believes other uses of a RMM such as an evaluation tool during acquisition or as governmental leverage to foster reuse adoption would be inappropriate given the overall maturity of domain-specific reuse technology and processes. Keywords: Strategic Planning, Domain-specific reuse, reuse processes Workshop Goals: Beginning process of building reuse community consensus on what constitutes a reuse maturity model and how it would be used. Working Groups: reuse process models; reuse maturity models 1 Background Ms. Margaret (Maggie) J. Davis is the technical lead for reuse on the Boeing STARS project, which is sponsored in part by DARPA under USAF contract F19628-88-D-0028. Ms. Davis has served in a lead capacity on the Boeing STARS project since its award in 1988. She provided management direction for the Boeing STARS Repository during its operation in 1988-1990; designed and coded a prototype Ada code review and understanding tool; developed an initial design for an asset library mechanism built as a tightly integrated appplication on a software engineering environment integration framework; and, has been deeply involved in the joint formulation and articulation of the STARS Conceptual Framework for Reuse Processes (CFRP) [Cre92]. The CFRP is a statement about what are the processes supporting STARS vision of domain-specific reuse. She is also responsible for coordinating the joint STARS activity to evolve a reuse maturity model, which is a statement about how reuse processes can be applied in achieving the STARS vision of domain-specific reuse. 2 Position The STARS position on a RMM is that, first of all, it should address the needs and requirements of the software engineering community in institutionalizing a reuse-based approach to software-intensive systems development. This means that any RMM must be developed in cooperation with the software reuse community as is represented at meetings such as WISR. During June 1992, STARS held its first Reuse Technology Affiliates Workshop. At this workshop, STARS had the opportunity to collect issues and concerns with respect to a RMM from the STARS affiliates, who are a mix of government and industry representatives. The concerns expressed were that: * the purpose be organization self-assessment not government evaluation for purposes of procurement and acquisition; * it be clear when the RMM was assessing capability (the ability to ``do reuse'') and when the RMM was assessing maturity (a more advanced application of reuse processes and principles); * the word `maturity' implies some fixed scale upon which to compare organizations; * it is difficult to separate out dimensions/facets of reuse maturity or capability; * the RMM encourage self-assessment and formulation of reuse-based strategies; * the RMM provide a competitive edge perspective for aiding management buy-in to reuse; * the RMM provide a basis for concrete metrics that can be tied to evaluating cost and quality improvements; * the RMM provide an investment perspective on reuse adoption that explains why reuse is causing industry restructuring and in what direction that restructuring is proceeding; * the RMM provide motivation as to why and how organization maturity is reflected in quality of product; * the RMM provide motivation as to why reuse is not just a key process area of CMM; * it may be premature to provide prescriptive guidelines for ``doing reuse'' or for providing guidelines with respect to improving an organization's maturity in ``doing reuse''. Some of these issues and concerns appear contradictory or outside the scope of what STARS envisions as a RMM. However, any release of a RMM should discuss all these issues. The second point in the STARS position on a RMM is that it be organized into three parts: (1) an abstract model, (2) self-assessment questions and procedures, and (3) guidelines for strategy formulation. The abstract model should be multi-dimensioned and provide the link between assessment results and identification of reasonable goals for reuse adoption and process improvement. The self-assessment questions and procedures should be applicable across different types and scales of organizations from project-level through enterprise-wide sets of organizations. And, the strategic guidelines should provide guidance in formulating short or long term strategies for reuse adoption and improvement that are appropriate to the domain as well as an organization's strengths and weaknesses. The third point in the STARS position on a RMM is that it be firmly rooted in a domain model for reuse processes and in technology adoption principles. STARS believes that a domain model The STARS CFRP is a candidate domain model. for reuse processes can be the basis for evolving a RMM. Figure 1 depicts such an evolution based on the STARS CFRP. Figure 1: Evolving RMM from CFRP The CFRP is basically a descriptive model that can be used to instantiate plans and processes for particular reuse initiatives or for reuse-based software development projects. Thus, it provides an empirical foundation for collecting, structuring, and comparing data, metrics, and experience about reuse processes and practices. As is explained by [Cre92] elsewhere in this proceedings, the CFRP incorporates critical notions from technology introduction and adoption with respect to planning, educating, measuring, and managing change. The transition process begins by collecting and analyzing observations of CFRP instantiations. These observations and instantiations can be evaluated to derive models of the static and dynamic behavior of reuse practice. From the models and observations, guidelines for strategic and policy choices that address reuse practices can then be written. Figure 2 depicts a static CFRP model for a marketplace or enterprise of domain software producers and consumers. At the bottom of the figure is an organization utilizing their own domain assets and assets from other domain developments to integrate complex systems in the same product-line. The domain engineering costs are spread across multiple organizations; the product-line engineering costs are borne by each product-line organization. Incentives for domain engineering are very diffuse in a marketplace or enterprise and may be experienced at the same time by both product-line and domain organizations as ``their'' competive edge. Strategic guidelines with respect to most effective reuse practices for each organization represented in the figure should be very different because the marketplace context and goals for each organization is very different. Figure 2: Static Model based on CFRP Figure 3 depicts a dynamic CFRP model of the change in responsibility of an organization in development and maintence of a computer-intensive system. The scopes of responsibility for the originating/acquiring organization are depicted in the shaded boxes. The scopes of responsibility for supporting or supplying organizations are shown in the lower dashed boxes. On the left side of the figure, the originating organization outsources a major share of the development activity. On the right side of the figure, the major share of the development activity is performed in-house. It is tempting to say that one side or the other represents a more mature situation with respect to reuse practice, but that may not be true. External changes such as in funding, expertise available, or technology innovation may be driving the scope of responsibility to increase or decrease. Figure 3: Dynamic Model based on CFRP Both of these examples have shown some of the possibilities when transitioning a reuse practices model from a reuse processes domain model. The second example, in particular, illustrates how the process of describing what constitutes mature reuse practice is just beginning. Taken together, the models and guidelines provide practical advice about how reuse practice is adopted and evolves. However, the reuse processes are only one facet or dimension of an RMM. Thus, evolving an RMM also means collecting and evaluating other drivers for institutionalization of reuse-based development. STARS, in conjunction with SPC/VCOE, is very interested in establishing what are the critical facets or dimensions of a RMM as part of this workshop or at least in establishing a working relationship in this community for reaching consensus on the dimensions. 3 Comparison The DARPA STARS program has been evolving the CFRP since November of 1990 as a description of the processes involved in doing domain-specific reuse-based development. More simply, the CFRP describes what STARS means as ``doing reuse''. A summary of the STARS CFRP work as of midyear 1991 was given in a position paper [Dav91] for WISR `91. A summary of the current state of the STARS CFRP is provided as another position paper to this workshop by R. Creps of Paramax [Cre92]. As part of the development of the CFRP, the reuse process joint activity team of STARS (whose members include representatives from Boeing, IBM, MITRE, PARAMAX, Software Engineering Institute (SEI), and TRW), spent many hours discussing the Software Productivity Consortium's (SPC) viewgraph referred to as "Mount Reuse". This SPC viewgraph mimics the five layers of the SEI's Capability Maturity Model and attempts to depict increasing stages of reuse maturity. It was the first stab at defining what reuse maturity might mean, and, being a viewgraph, was only a broad brush at reuse maturity. The five stages are depicted as ledges on a mountain side with adhoc reuse at the bottom and systematic reuse at the top. Each level or ledge is annotated with characteristics of that stage. In working with the viewgraph, the STARS team came to the conclusion that different concerns were being mixed into each layer and that these concerns should be separated into different dimensions of reuse maturity. The team went so far as to develop a ``reuse cube'' whose three axes were technology maturity, domain stability, and organizational/process maturity. The scales developed for each axis were not identical, with domain stability having three states and organizational/process maturity having more than five states. The team did not reach closure on this material but did conclude that a maturity model would be needed to complement the CFRP in order to provide strategic planning guidelines. Indeed, a STARS task to jointly formulate a RMM was added to the STARS Consolidated Plan for 1992-1993. Philip Koltun and Anita Hudson published the Harris Reuse Maturity Framework at WISR `91 [KH91]. The STARS team believes that this work represents such important input into what STARS would develop as an RMM that Ms. Hudson's direct participation was arranged through the mechanism of STARS technology transition affiliateship. In June of 1992, the SPC held a workshop titled ``Reuse Adoption'' as part of its DARPA contract for the Virginia Center of Excellence for Reuse (VCOE). At the workshop, the SPC presented a draft RMM partially based on the SEI's CMM concept of identifying key practice areas for each of five levels of capability maturity. An organization advances from one level of maturity to a higher level when the organization is practicing the key areas identified for the current and all previous levels. A description of the VCOE model and feedback from the workshop is described in another position paper in this proceedings. One set of issues raised by both government and industry participants echoed serious concerns that the STARS team had already expressed about using a CMM-like approach to construct a RMM. STARS and some of the workshop participants see several flaws in duplicating the CMM approach to defining reuse maturity. The first flaw is that following the stepped capability style of the CMM would increase the likelihood of the RMM being used as an evaluation tool during acquisitions. The participants felt this could be very costly both to the government and to the contractor just as CMM evaluations have proven enormously expensive. The second flaw is that the notion of domain-specific reuse has not had sufficient practice for the reuse community to identify what processes are critical and which are more mature than others. STARS and the VCOE had already agreed before the Reuse Adoption workshop to joint develop an RMM. Further, we agree that the VCOE work; VCOE Reuse Adoption workshop feedback; STARS reuse process work; Harris' work; and the issues raised by STARS, STARS technology transition affiliates, and WISR `92 participants regarding reuse maturity are all part of the technical basis for establishing the requirements and addressing concerns of an RMM's customer base. References [Cre92] R. Creps. Stars conceptual framework for reuse processes. In Proceedings of the Fifth Annual Workshop on Software Reuse, November 1992. [Dav91] M.J. Davis. Stars framework for reuse processes. In Proceedings of the Fourth Annual Workshop on Software Reuse, November 1991. [KH91] P. Koltun and Anita Hudson. A reuse maturity model. In Proceedings of the Fourth Annual Workshop on Software Reuse, November 1991. 4 Biography Maggie Davis is Reuse Technology Area Lead for the Boeing STARS program. As such, Maggie participates in the STARS joint activity team articulating the Conceptual Framework for Reuse Processes (CFRP). The CFRP is a statement about what are the processes supporting STARS vision of domain-specific reuse. She is also responsible for coordinating the joint STARS activity to evolve a reuse maturity model, which is a statement about how reuse processes can be applied in achieving the STARS vision of domain-specific reuse. Maggie has enjoyed a nineteen year career in programming and software engineering practice and holds a M.S. in Computer Science from the University of Delaware.