home *** CD-ROM | disk | FTP | other *** search
/ ftp.umcs.maine.edu / 2015-02-07.ftp.umcs.maine.edu.tar / ftp.umcs.maine.edu / pub / WISR / wisr5 / proceedings / ascii / davis_t.ascii < prev    next >
Text File  |  1993-05-26  |  19KB  |  381 lines

  1.  
  2. Toward A  Reuse Maturity Model 
  3.  
  4. Ted Davis 
  5.  
  6. Software Productivity Consortium 
  7. SPC Building 
  8. 2214 Rock Hill Road 
  9. Herndon, Virginia  22070 
  10. Tel: (703) 742-7335, fax: (703) 742-7200 
  11. Email: davis@software.org 
  12.  
  13. Roger Williams 
  14.  
  15. Software Productivity Consortium 
  16. SPC Building 
  17. 2214 Rock Hill Road 
  18. Herndon, Virginia  22070 
  19. Tel: (703) 742-7132, fax: (703) 742-7200 
  20. Email: williams@software.org 
  21.  
  22.    
  23.                       Abstract  
  24.  
  25. This paper suggests a basis for reuse maturity. It describes how the 
  26. Virginia Center of Excellence for Software Reuse and Technology Transfer 
  27. (VCOE) is developing a model of reuse maturity. We expect development 
  28. and validation of the concepts to evolve over several years.  In the 
  29. near term, we view the model as a vehicle for capturing successful 
  30. reuse practice and for identifying areas where technical and management 
  31. problems need to be solved to promote the institutionalization of 
  32. reuse. In the longer term we view the model as a vehicle that organizations 
  33. can use in identifying actions that they should take to improve their 
  34. own reuse capabilities.
  35.  
  36.  
  37. Keywords:  Reuse maturity, reuse capability, reuse efficiency, reuse 
  38.        proficiency, reuse effectiveness
  39.  
  40. Workshop Goals:  Promote discussion on what constitutes reuse maturity, what the
  41.          results of improving reuse maturity should be, and the 
  42.          requirements a reuse maturity model should satisfy.
  43.  
  44. Working Groups:  Reuse maturity models
  45.  
  46.  
  47. Copyright   1992,  Software Productivity Consortium, Inc. All rights reserved. 
  48. This material is based in part upon work sponsored by the Defense Advanced 
  49. Research Projects Agency under Grant #MDA972-92-J-1018. The content does not 
  50. necessarily reflect the position or the policy of the U.S. Government, and no
  51. official endorsement should be inferred.
  52.  
  53. Produced by the Software Productivity Consortium under contract to the
  54. Virginia Center of Excellence for Software Reuse and Technology Transfer.
  55.  
  56.  
  57. 1  Background 
  58.  
  59. The Virginia Center of Excellence for Software Reuse and Technology 
  60. Transfer (VCOE) was jointly formed by the Virginia Center for Innovative 
  61. Technology and the Software Productivity Consortium. Included in the 
  62. VCOE charter is the development of ``Reuse Adoption'' technology, 
  63. which supports organizations in the definition, evolution, and implementation 
  64. of reuse programs. To support this ``institutionalization'' of reuse, 
  65. the VCOE was tasked with developing a Reuse Maturity Model (RMM) which 
  66. could be used to define the characteristics of differing reuse processes. 
  67. Point-of-departure for the RMM was the SPC's ``Mount Reuse'' five level model 
  68. that had been developed in an earlier effort [BH90].
  69.  
  70. One of the initial purposes of the RMM was to complement and strengthen 
  71. the SEI's existing process maturity model by supporting the characterization 
  72. of processes that are more systematic in their approach to reuse.
  73.  
  74. In June of 1992, the VCOE presented a draft of the RMM at a workshop 
  75. attended by DoD reuse experts, industry personnel seeking reuse adoption 
  76. technology, and industry personnel from other DoD reuse projects including 
  77. STARS and CARDS. Although participants approved of some aspects of 
  78. the model, they voiced strong objections to others. Some believed 
  79. that reuse practice is too immature to even begin to be categorized 
  80. by a maturity model. However, most of the negative reaction stemmed 
  81. from the relationship of our proposed RMM to the SEI's Capability 
  82. Maturity Model (CMM) for processes. Since we had made analogies to 
  83. the CMM structure in developing the RMM, many feared that perceived 
  84. negative aspects of the CMM would be inherited by production of an 
  85. RMM---the most emphatic concern was that a derivative of the RMM 
  86. would be used as a mechanism for evaluating a contractor's ability 
  87. to reuse. Other participants had an opposite concern: they wanted 
  88. to know why there needed to be an RMM that was separate from the CMM.
  89.  
  90. Our response to the workshop feedback was: 1) to restructure the RMM 
  91. so that reviewers could see that it's derivation is not driven by 
  92. a need to have 5 maturity levels, and so that they could have greater 
  93. visibility and input into the model formulation, 2) to re-emphasize 
  94. to the reuse community that we will seek consensus on our model and 
  95. that we intend to validate it, and 3) to present the pre-validated 
  96. RMM only as a mechanism which postulates and allows examination of 
  97. factors leading to successful reuse practice. This paper is an initial 
  98. step in our response. In it we present our concept of reuse maturity 
  99. and describe what we feel is an appropriate method for formulating 
  100. a Reuse Maturity Model.
  101.  
  102.  
  103. 2  Position 
  104.  
  105. The ultimate need for a model of reuse maturity is to characterize 
  106. good reuse practice. Such a characterization of practice would allow 
  107. an organization to identify how it might best improve its own software 
  108. development efforts. Because the practice of software reuse is not 
  109. widespread, not well understood, and not proven as a means for 
  110. software productivity and quality improvement,  a Reuse Maturity Model 
  111. is needed in the nearer term to provide a common basis for researchers 
  112. and practitioners to identify what constitutes good reuse practice. As 
  113. a common basis, the model should provide the reuse community with a vehicle 
  114. for characterizing best practice, correlating elements of practice 
  115. to successful software development, and identifying the most critical 
  116. technical or nontechnical barriers to good practice.
  117.  
  118. These benefits which we expect would come from a Reuse Maturity Model 
  119. depend on the assumption that the producers and consumers of reuse 
  120. technology can agree on what ``maturity'' means in the context of 
  121. software reuse. Therefore, we include here our definition of reuse 
  122. maturity which we offer for discussion. In addition, we identify 
  123. requirements for a reuse maturity model to serve as a basis for 
  124. development of a model.
  125.  
  126.  
  127. 2.1  Reuse Maturity 
  128.  
  129. Our concept of reuse maturity is based on the assumption that an organization 
  130. wants to be more effective in reusing its software assets. Maturity 
  131. is intended to be an indication of how effective an organization is 
  132. at reuse; this then is the motivation for an organization to increase 
  133. its maturity, i.e, that more effective reuse will result. The first 
  134. step then is to determine what constitutes effective reuse. Then it 
  135. will be possible to define reuse maturity and develop a maturity model 
  136. aimed at achieving effective reuse. 
  137.  
  138. Frequently, organizations report reuse results as the percentage of 
  139. a product or product line that is comprised of reused software, e.g., 
  140. [PD91] reports reuse as the ratio of total SLOC reused to total 
  141. SLOC produced. The implication of these results is that more reuse 
  142. is better reuse. Although the citations in [PD91] may be cases 
  143. of effective reuse, ``how much'' reuse an organization achieves 
  144. is insufficient as an aim for effective reuse. 
  145.  
  146. ``How much'' reuse does not reflect how many opportunities for reuse 
  147. are missed nor does it reflect how well an organization meets its 
  148. intended reuse target (perhaps 75% was feasible, 50% was the organization's 
  149. intended reuse, but the actual reuse was 25%). It does not reflect 
  150. the benefit realized from reuse with respect to the cost to attain 
  151. the benefit (perhaps $90,000 was spent to save $100,000 when it was 
  152. only necessary to spend $50,000 to attain the same benefit). It also 
  153. does not reflect whether the organization could achieve similar results 
  154. in similar situations (perhaps in one instance 40% reuse was achieved, 
  155. but in a similar situation only 10% reuse was achieved).
  156.  
  157. ``How much'' reuse an organization achieves may also be subject 
  158. to constraints which are beyond the organization's control. For example, 
  159. an organization may work in a multi-level classified environment 
  160. which forbids reuse from a higher classification level to a lower 
  161. classification level. This may severely limit ``how much'' reuse 
  162. is achievable, but it should not reflect ineffective reuse if the 
  163. organization is capable of exploiting its reuse opportunities within 
  164. the constraints of the situation.
  165.  
  166. An alternative which overcomes the shortcomings identified above is 
  167. an adaptation of the concept of process capability, defined in [PCC91], 
  168. for reuse--termed reuse capability, which is:
  169.   
  170.     The range of expected results in reuse efficiency, effectiveness, and 
  171.     proficiency that can be achieved by following a reuse process.
  172.  
  173.  
  174. Reuse efficiency is the ratio of the actual reuse opportunities 
  175. exploited to the organization's targeted reuse opportunities, whether 
  176. implicit or explicit. For example, in the case where the potential 
  177. reuse is 75%, the intended (targeted) reuse is 50%, and the actual 
  178. reuse is 25%, the reuse efficiency is 25/50 = 0.5.
  179.  
  180. Reuse effectiveness is the ratio of the difference between what it would have 
  181. cost to develop  new assets and what it cost to reuse assets times the number of
  182. uses of the reusable assets to the investment costs to acquire or develop the 
  183. reusable assets. For example, if it would have cost $100,000 to develop new 
  184. assets; $130,000 to develop reusable assets; $10,000 to use the assets; and the
  185. assets are used twice; then, the reuse effectiveness is 
  186. 2 * (100,000 - 10,000) / 130,000 = 1.38.
  187.  
  188. Reuse proficiency  is the ratio of the actual reuse opportunities exploited to 
  189. the potential reuse opportunities. For example, in the case where the potential 
  190. reuse is 75%, the intended (targeted) reuse is 50%, and the actual reuse is 25%,
  191. the reuse proficiency is  25/75 = 0.33.
  192.  
  193. Thus, an organization with a high reuse capability, not only is able 
  194. to achieve more reuse (proficiency), but is also capable of maximizing 
  195. its payoff from reuse (effectiveness) and consistently meets its target 
  196. (efficiency)---the aim of reuse maturity and the reuse maturity model.
  197.  
  198. With the aim of achieving a better reuse capability, the preliminary 
  199. definition of reuse maturity is:
  200.   
  201.     The extent to which an organization's process systematically and cost-
  202.     effectively exploits software reuse opportunities.
  203.  
  204.  
  205. This definition is based on the concept of systematic reuse defined 
  206. in [WPD92] where the opportunities for reuse are predefined and 
  207. a process for making use of those opportunities is specified, and 
  208. on the principles of reuse economics as captured in the reuse economics 
  209. model defined in [GC92]. The implication is that reuse maturity, 
  210. as defined above, directly relates to an organization's reuse capability. 
  211. This relationship is described in the following section.
  212.  
  213.  
  214. 2.2  Reuse Maturity and Reuse Capability 
  215.  
  216. Figure 1 characterizes the reuse capability of an organization with 
  217. low reuse maturity. The area labeled `Potential Opportunities' represents 
  218. the set of potential opportunities in a given environment, i.e., where 
  219. an asset (existing or to be developed) satisfies a need (current or 
  220. anticipated). It is dashed to indicate that a low reuse maturity process 
  221. is one that does not make known the potential opportunities. Because  
  222. the potential opportunities are not known, the `Target Opportunities' 
  223. will likely fall outside the set of potential opportunities. The target 
  224. opportunities represent the set of opportunities pursued by an organization. 
  225. The target, also, may not be explicit---this is the case with ad 
  226. hoc reuse where an organization is not aware of the reuse activities 
  227. performed by its individuals. The set of `Actual Reuse' opportunities 
  228. exploited are within the intersection of the potential opportunities 
  229. and the targeted opportunities
  230.  
  231.  
  232.   Figure 1: Low Reuse Capability 
  233.  
  234.  
  235. As an example, point a in Figure 1 might represent an asset that was 
  236. developed for reuse, but was never used since there was no need for 
  237. the asset. Point b might represent an asset collected for reuse for 
  238. which there was a need, but it was never found. Point c might represent 
  239. an opportunity to develop an asset which would satisfy multiple needs, 
  240. but the opportunity was never recognized. Point d represents an asset 
  241. which did meet a need and was reused.
  242.  
  243. `Instance 1' and `Instance 2' represent how an organization's process 
  244. might perform when confronted with the same or similar situation. 
  245. In this case where the potential opportunities are not known, there 
  246. is no explicit target, and no process for assuring actual reuse, the 
  247. organization can expect a wide variation in the results.
  248.  
  249. Reuse efficiency is the ratio of the actual reuse opportunities 
  250. exploited to the target opportunities. For `Instance 1' the reuse 
  251. efficiency is 0.2, for `Instance 2' the efficiency is 0.08, and the 
  252. range of expected results is 0.08 to 0.2 (assuming that these instances 
  253. represent the endpoints). In this case the efficiency is low with 
  254. a wide variation in results.
  255.  
  256. Reuse effectiveness is the ratio of the benefit from reuse 
  257. to the reuse investment. The reuse investment is proportional to the 
  258. effort spent in pursuing the `Target Opportunities' and the benefit 
  259. is proportional to the effort saved via the `Actual Reuse' opportunities 
  260. exploited. Reuse proficiency is the ratio of the actual reuse opportunities 
  261. exploited to the potential opportunities. Similar to reuse efficiency, 
  262. there is an expected range of results in reuse effectiveness and proficiency.
  263.  
  264. Figure 2 characterizes an organization's reuse capability with high 
  265. reuse maturity. In this case, the organization's process makes known 
  266. the potential opportunities, explicitly establishes a target within 
  267. the set of potential opportunities, and has a specified process for 
  268. achieving the target. The target may not contain the entire set of 
  269. potential opportunities because the potential benefit from those opportunities 
  270. outside the target may not have been worth the additional reuse investment, 
  271. i.e., the organization maximizes its proficiency with respect to effectiveness.
  272. In this case the reuse efficiency is high with a small variation in 
  273. results (0.9 to 0.95).
  274.  
  275.  
  276.   Figure 2: High Reuse Capability 
  277.  
  278.  
  279. 2.3  Requirements for a Reuse Maturity Model 
  280.  
  281. The following requirements for a reuse maturity model are provided 
  282. for discussion and to serve as a basis for development of a reuse 
  283. maturity model:
  284.   
  285.   * Reuse maturity shall be clearly defined; what constitutes an improved 
  286.     maturity shall be clearly identified; and improving reuse maturity should 
  287.     lead to an improved reuse capability.
  288.  
  289.   * A reuse maturity model shall have sufficient flexibility to allow 
  290.     organizations to adopt reuse technologies appropriate to their own 
  291.     situation, i.e., it should not dictate the use of any one specific 
  292.     technology.
  293.  
  294.   * A reuse maturity model shall be applicable to organizations of varying 
  295.     reuse maturity.
  296.  
  297.   * A reuse maturity model shall aid an organization in determining their reuse
  298.     maturity and allow them to build on their existing capabilities.
  299.  
  300.   * A reuse maturity model shall encourage reuse by providing a means whereby 
  301.     organizations can incrementally commit to reuse and thus reduce the risks 
  302.     associated with implementing a reuse program.
  303.  
  304.  
  305. 3  Comparison 
  306.  
  307. One means for comparison of Reuse Maturity Models is on the basis of the 
  308. requirements which they implement. Models reviewed include the Harris Reuse 
  309. Maturity Framework (RMF) [KH91], Mount Reuse [BH90], economics model for reuse
  310. [GC92], the SEI Capability Maturity Model (CMM) [PCC91], and the STARS 
  311. Conceptual Framework for Reuse Processes (CFRP) [STA92]. Each of these models
  312. provide concepts which may contribute to the development of a model meeting 
  313. the requirements stated above, but no single model addresses all of the 
  314. requirements.
  315.  
  316. The RMF identifies factors which should be addressed to improve reuse 
  317. practice; Mount Reuse introduces the concept of systematic reuse which 
  318. we have incorporated into our definition of reuse maturity; the economics 
  319. model provides a basis for defining effective reuse in economic terms 
  320. which has influenced our definition of reuse capability; the CMM defines 
  321. the concept of capability as an expected range of results, and it 
  322. provides a structure for a maturity model (key practices, key practice 
  323. areas, and maturity levels) which may provide the needed flexibility 
  324. in implementation and incremental commitment; and the CFRP provides 
  325. a means for studying reuse processes and a potential organization 
  326. of critical reuse maturity success factors.
  327.  
  328.  
  329. References
  330.  
  331. [BH90]  J. Blyskal and B. Hofkin.  Usage Scenario for the Reuse Library Toolset.
  332.         Technical Report EX_US_RLT-90052-MC, Software Productivity Consortium, 
  333.     October 1990.
  334.  
  335. [GC92]  J. Gaffney and R. Cruickshank.  A General Economics Model of Software 
  336.     Reuse.  In 14th International Conference on Software Engineering, 
  337.     May 1992.
  338.  
  339. [KH91]  P. Koltun and A. Hudson.  A Reuse Maturity Model.  In Fourth Annual 
  340.     Workshop on Software Reuse, November 1991.
  341.  
  342. [PCC91] M. Paulk, B. Curtis, and M. Chrissis.  Capability Maturity Model for 
  343.     Software.  Technical Report CMU/SEI-91-TR-24, Software Engineering 
  344.     Institute, 1991.
  345.  
  346. [PD91]  R. Prieto-Diaz.  Making Software Reuse Work: An Implementation Model.
  347.         ACM SIGSoft Software Engineering Notes, July 1991.
  348.  
  349. [STA92] STARS.  STARS Reuse Concept--Conceptual Framework for Reuse Process.  
  350.     Technical Report STARS-TC-04040/001/00, Defense Advanced Research 
  351.     Projects Agency, February 1992.
  352.  
  353. [WPD92] S. Wartik and R. Prieto-Diaz.  Criteria for Comparing Domain Analysis 
  354.     Approaches.  International Journal of Software Engineering and 
  355.     Knowledge Engineering, September 1992.
  356.  
  357.  
  358. 4  Biography 
  359.  
  360. Ted Davis is the technical lead for the VCOE reuse adoption project and is 
  361. responsible for developing the Reuse Maturity Model and reuse adoption process.
  362. Previously Ted had supported the development and validation of the Software 
  363. Productivity Consortium's Evolutionary Spiral Process for software development 
  364. and the Synthesis process for domain engineering. Prior to that, Ted was an 
  365. officer in the U.S. Air Force for eight years where he developed and acquired 
  366. command and control systems. Ted has a M.S. in Computer Science from Purdue 
  367. University and a M.S. in Systems Management from the University of Southern 
  368. California.
  369.  
  370. Roger Williams  is the project manager for the VCOE reuse adoption project and 
  371. oversees the production of the Reuse Maturity Model and the Reuse Adoption 
  372. Guidebook. His previous work at the Consortium includes management of the 
  373. Evolutionary Spiral Process Validation Project and he also supported 
  374. development of the systems engineering principles of the Synthesis process. 
  375. Roger is an assignee from the Boeing Defense Space Group. His prior work with 
  376. Boeing includes support of concept definition and advanced development efforts 
  377. for Space Station Freedom software, system and software definition for embedded,
  378. fault tolerant computing systems, and verification and validation of the 
  379. Inertial Upper Stage operational flight software. Roger has a B.S. in Systems 
  380. Engineering from the University of Florida.
  381.