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 / wisr4 / proceedings / detex / tirso.detex < prev    next >
Text File  |  1992-04-05  |  9KB  |  223 lines

  1.  [12pt] article 
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.   The IBM Reuse Program 
  10.   Jesus R. Tirso 
  11.  
  12. IBM Corporation 
  13. Reuse Technology Support Center 
  14. P. O. Box 950, Dept. A80D, Blg. 996 
  15. Poughkeepsie, NY 12602 
  16.  
  17.    
  18.  
  19.  
  20.   
  21. This paper briefly describes IBM's reuse program.  It covers the
  22. support structure put in place to facilitate integration of reuse into the
  23. development process, the areas of focus, and results to date.
  24.  
  25.   0.3in 
  26.  
  27.    Keywords:  reuse, reuse implementation, information reuse,
  28. reuse support
  29.  
  30.  
  31.  
  32.   Introduction 
  33. Software reuse is not new, as a matter of fact, it's been practiced in one way
  34. or another by every programmer in every company.  What is new in software
  35. reuse is the recognition that it must be planned for and properly controlled
  36. in order to achieve the promised results of improved quality and productivity.
  37.  
  38. The IBM reuse program aims at institutionalizing reuse across IBM by
  39. integrating mature reuse technologies and processes into IBM's culture.  This
  40. paper discusses what is being done to accomplish this, how it is being done,
  41. and the results to date.
  42.  
  43.   The Corporate Reuse Council 
  44. The Corporate Reuse Council (CRC) is made up of representatives from every
  45. line of business within IBM as well as most major sites.  The CRC has gone
  46. through several iterations since it was created in 1986.  In 1989, it was made
  47. up of approximately ten members, all interested in making reuse successful.
  48. It was at this time that the CRC realized that it needed to make information
  49. about reuse available to the software development community at large.  The CRC
  50. developed a ``Reuse Starter Kit'' that grouped together information on
  51. reuse from the general literature as well as providing guidance on specific
  52. issues within IBM.
  53.  
  54. The next step taken by the CRC was to develop a strategy to guide the reuse
  55. effort and to have this strategy accepted and funded by management.  The
  56. strategy was put in place and a structure developed to implement it.  Three
  57. goals were identified:
  58.   
  59.   Integration of mature reuse technology and processes into IBM's culture:
  60.   
  61.   Process
  62.   Education
  63.   Standards
  64.   Measurements
  65.   Tools
  66.   Parts
  67.  
  68.  . Significant increases in productivity (delivered product
  69. per unit of effort) and quality through the application of reuse technology,
  70. resulting in reduced product development cycle.
  71.   Recognized leadership in reuse technology application.
  72.  
  73.  
  74. Along with the goals, success indicators were identified and the Reuse
  75. Technology Support Center was formed to implement the strategy.
  76.  
  77.   The Reuse Technology Support Center 
  78.  
  79. The Reuse Technology Support Center (RTSC) is responsible for implementing
  80. the CRC's reuse strategy.  It is an organization made up of experts from
  81. throughout the corporation addressing specific issues related to software
  82. reuse.  Among these are:
  83.   
  84.   Process and technology
  85.   Tools
  86.   Parts
  87.   Education
  88.   Standards and guidelines
  89.   Legal and data rights issues
  90.   Measurements
  91.   Information reuse
  92.   Marketing opportunities
  93.  
  94.  
  95. Each of these areas is key to the success of reuse, however, the critical
  96. ingredient is continuous management commitment.
  97.  
  98. Along with this central organization, each site puts in place a
  99. ``champion'' with specific reuse responsibilities.  It is this
  100. ``distributed'' organization that actually implements and supports the
  101. reuse effort.  Some of these items are discussed below.
  102.   Process and Technology 
  103.  
  104. The RTSC coordinates the effort of the ``champions''.  It is these
  105. champions who actually drive reuse into the development process at the site.
  106. There is no specific ``process'' for reuse, there is only a need to
  107. focus on reuse during the standard development cycle.
  108.  
  109. The champions typically establish a support structure at the site that
  110. makes reuse the path of least resistance for programmers.  This structure is
  111. usually made up of the following ingredients:  
  112.   
  113.   The champion
  114.   A site-wide and project specific reuse libraries
  115.   A review board to approve candidates for these libraries
  116.   Project reuse leaders with specific reuse responsibilities within
  117. their project
  118.   Installation of ``corporate'' domain independent reuse libraries
  119.  
  120.  
  121. The champion is also responsible for coordinating education, ensuring
  122. installation of required tools, and establishing appropriate standards for the
  123. libraries.
  124.   Tools 
  125. Although reuse can easily be done without tools, the need for a tool that
  126. allows sharing reusable software is a benefit.  Within IBM, a tool exists that
  127. allows sharing libraries across sites.  This tool provides a faceted taxonomy
  128. for classifying the reusable parts.
  129.  
  130. The corporate libraries are available to all via this tool and individual
  131. sites are encouraged to make their site libraries available to others via the
  132. tool.  The idea here is to capture the expertise available at each site via
  133. the reusable software library and make it available to others who may need
  134. that expertise.  Currently, the libraries are primarily code and related
  135. supporting information but several sites are moving toward other reusable
  136. resources.
  137.   Parts 
  138. As mentioned above, parts are available from several sources:
  139.   
  140.   Corporate libraries provided by funded ``parts centers''.
  141.   Sites that build libraries for their domain.
  142.   Projects that build libraries for an even narrower domain.
  143.  
  144.  
  145. These parts are all shared via the tool described above.  Standard
  146. ``quality'' definitions exist that all parts must adhere to.  There are
  147. three levels defined:  ``as-is'', ``complete'', and
  148. ``certified''.  The major difference among the three levels is the
  149. amount of information provided and, most importantly, the level of support
  150. offered for the parts.  All corporate libraries are ``certified'' which
  151. implies complete documentation and stringent support agreements.
  152.   Education 
  153. Education is a critical issue in software reuse.  Programmers have been in
  154. school for a long period of time, always taught not to reuse.  It doesn't come
  155. out as clearly as that, it is more along the lines of being punished for using
  156. someone else's work!  The type of education that is required has to
  157. focus on several audiences:
  158.   
  159.  [Managers] need to be educated on costs of reuse and expectations.
  160.  [Programmers] need to be educated on how to write reusable software,
  161. how to change their
  162. existing ``process'' to maximize reuse, how to exploit specific
  163. languages for reuse, etc.
  164.  [Facilitators] that is the champions, project reuse leaders, etc.,
  165. need to be educated on how to overcome inhibitors, how to identify reusable
  166. software, how to identify reuse opportunities, etc.
  167.  
  168.  
  169. Courses are currently available or under development to address these topics
  170. and audiences.
  171.   Standards and Guidelines 
  172. There are many different types of standards and guidelines required to make
  173. reuse successful.  Some have already been mentioned, e.g., quality
  174. definitions.  The RTSC is addressing this item by developing standards and
  175. guidelines that address a wide range of topics, including:
  176.   
  177.   Classification of components
  178.   Quality standards
  179.   Development guidelines
  180.   Testing Considerations
  181.   Measurements
  182.  
  183.   Measurements 
  184. Measurements is another topic being addressed by the RTSC.  The need for ways
  185. to measure reuse and its impact on quality and productivity is well known.
  186. The group addressing measurements is moving toward establishing a common set
  187. of definitions and metrics to be used throughout IBM.  Along with this effort,
  188. tool requirements to automate data gathering and analysis are also being
  189. developed.  The first suggested metric is called the Full Utility
  190. Ratio   which gives credit for reusing
  191. others software as well as making your software reusable.
  192.   Information Reuse 
  193. An additional item being investigated by the RTSC is ``information
  194. reuse'', i.e., not code.  The RTSC is looking at reuse of documentation,
  195. designs, tests, plans, graphics, etc..
  196.   Conclusion 
  197. To date, there are close to thirty sites involved, at different levels of
  198. success.  They are involved in both reusing parts from ``corporate''
  199. libraries as well as building their own libraries and sharing them with other
  200. sites.  One such site, Myers Corners Laboratory, has shown tremendous results
  201. in a short period of time.  
  202.  
  203.  
  204. The CRC meets on a regular basis, typically twice a year.  During the
  205. meetings, specific topics are covered and inhibitors to further progress are
  206. identified.  The RTSC is charged with overcoming these inhibitors and ensuring
  207. the continued progress toward achieving the CRC's goals.
  208.  
  209.   plain 
  210.  
  211.  
  212.   About the Author 
  213. Jesus R. Tirso, IBM Corporation, Dept. A80D, Bldg.  996,
  214. P. O. Box 950, Poughkeepsie, New York 12602, works in IBM's Reuse
  215. Technology Support Center, focusing on process and technology transfer.
  216. Previously, he was the reuse coordinator at Myers Corners Laboratory.  He has
  217. held several positions in design and development in the MVS Operating System
  218. Products organization at Myers Corners Laboratory.  He received his B. S.
  219. degree in computer science from Rutgers University, New Brunswick, New Jersey,
  220. in 1982.
  221.  
  222.  
  223.