Position

In the course of planning the preparation phase of the ARPA Software Technology for Adaptable, Reliable Systems (STARS) demonstrations of megaprogramming, it became clear that the project teams needed more than documentation describing processes supporting or describing what is involved in domain-specific, reuse-based software development. In particular, they needed assistance in identifying project goals and metrics that were specific to reuse. Thus, it was decided that STARS efforts directed at contributing to evolution of a community-wide reuse maturity model would be diverted to meeting these immediate needs of the STARS demonstration teams.

Since the overall goals for the STARS demonstrations include (1) showing how reuse can be practiced and (2) assisting the organizations involved in transitioning to domain-specific, reuse-based software-intensive systems development, it was decided that the support from the reuse technology area to the STARS demonstration teams would be in the form of a project planning aid that supported assessment of current reuse practice, identification of goals for improving the current practice, and identification of metrics to measure progress against selected goals. This project planning aid is known as the STARS Reuse Strategy Model (RSM) [#!rsm!#] since it assists in the formulation of the reuse strategy to be followed on a project.

Unlike usual project goals that measure success in terms of delivering artifacts that meet specific standards of quality and functionality, goals identified by the RSM measure progress with respect to the management and engineering processes used and the managerial and technological context in which the project is carried out. Goals and metrics formulated relative to processes are similar to measures of success often used by continuous quality improvement initiatives. Goals and metrics formulated for the managerial and technological contexts of projects are similar to measurements on the progress of technology transition or institutionalization. Since there are organizations implementing continuous quality improvement within their business processes and introducing reuse as a new technology at the same time, the RSM should be applicable beyond the scope of STARS. That is, the RSM can be used to assess and track the extent of technological change (what reuse processes are practiced) and of supporting infrastructure for the new technology (context).

To add some simplifying structure to assessing reuse practice, the RSM identifies 32 individual indicators organized into five groups or dimensions. Each dimension focuses on some separable aspect or issue relative to reuse processes used and the context in which they are executed. Because it was not always possible to formulate each indicator to be completely independent of every other one, notes and heuristics for evaluating the interdependencies are provided.

The five dimensions used in the RSM are:

Figure 1 depicts each dimension and its indicators as a separate column. There is no significance to the ordering of columns, nor the indicators within columns, nor is there any significance to the ordering of indicators across rows. The indicators used resulted from analysis of previous work on reuse maturity [#!mtreuse!#,#!harris91!#], work in progress on reuse capability and adoption [#!ragb!#], and work in progress on articulating the STARS vision of reuse [#!creps!#].

The basic steps of the procedure for assessment and goal identification are to:

It is assumed that once assessment and goal identification has been completed, the set of goals will be evaluated relative to external constraints and transitions already in progress, will be arranged from high to low priority, and a subset of the highest priority goals will actually levied against the project. The assessment and goal formulation may be done by either a project management team or by a management team providing coordinated reuse strategies for multiple projects.

The RSM document supports the assessment and goal identification process by supplying a uniform set of tables that for each indicator provide:

One of the indicator tables is shown in Figure 2. The assessment question is listed just above the matrix. The scale of possible answers is shown on the left side of the matrix as a letter paired with short descriptive text. Goals for improving the rating sit in the same row or in the rows below the rating value. A transition question that determines if the effort is already underway for meeting a particular goal lie in the same row as well as progress metrics appropriate to the specific goal. Finally, heuristics on assessing the indicator or on evaluating the goals identified appear as a set of notes below the matrix.

Since there is not a general consensus as to what reuse practices are consistently an improvement over another, the assessment scales are ordered by degree of sophistication of the practice. And, the reader is warned that greater sophistication is not necessarily better in the notes for each indicator whose assessment scale is known to be partially ordered.

Each of the STARS demonstration teams did a trial application of the RSM. The general conclusion from the teams was that the RSM helped them identify management and infrastructure issues and goals that they had not discovered in their top-down decomposition of strategic business objectives. They believed that doing the RSM assessment was useful if it was used for nothing more than raising issues that need to be addressed by reuse-based development projects. Further, at least two of the projects intend to use the RSM to measure their state of reuse practice going into and at completion of their demonstrations.

Figure: RSM Indicators by Dimension
\begin{figure*}\par
\centering
\leavevmode\hbox{\epsfbox{davis_m-fig1.ps}}
\par\end{figure*}

Figure: Example Indicator Table
\begin{figure*}\par
\centering
\leavevmode\hbox{\epsfbox{davis_m-fig2.ps}}
\par\end{figure*}