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 / wisr6 / proceedings / ascii / burd.ascii < prev    next >
Text File  |  1993-10-19  |  16KB  |  343 lines

  1.  
  2.  
  3.  
  4.  
  5.             Risk  Management  the  Key  to  Successful  Reuse
  6.  
  7.  
  8.  
  9.                              Elizabeth L. Burd, John A. McDermid
  10.  
  11.  
  12.  
  13.                                  Department of Computer Science,
  14.  
  15.                                            University of York,
  16.  
  17.                                                 Heslington,
  18.  
  19.                                                     York,
  20.  
  21.                                                  YO1 5DD,
  22.  
  23.                                                       UK
  24.  
  25.  
  26.  
  27.                                          Tel:  (+44) 904 432711
  28.  
  29.                                         Fax: (+44) 904 432767
  30.  
  31.                                    Email:  liz@minster.york.ac.uk
  32.  
  33.  
  34.  
  35.                                                   Abstract
  36.  
  37.  
  38.     In this position paper we stress the importance of risk management to the process of software
  39. reuse. We consider the problems that are associated with reuse and have accounted for its failure
  40. to become an important and respected part of the software development process. We discuss,in
  41. brief, the work that we have carried out. In particular we concentrate our efforts for this paper
  42. on the procedure of reusing risk assessments to direct a new software development.  We then
  43. look at some of the implications that increasing a developer's knowledge of risks has on the ac-
  44. ceptance of reuse to project managers. Finally we indicate the new directions our work will take.
  45.  
  46.  
  47.  
  48. Keywords: Reuse, Risk, Software life cycle, Process models.
  49.  
  50.  
  51. Workshop Goals: Listening , learning, discussing and meeting people
  52.  
  53.  
  54. Working Groups:  Reuse process models, Reuse management, organisation and economics,
  55. Reuse maturity models, Education.
  56.  
  57.  
  58.  
  59.                                                    Burd- 1
  60.  
  61.  
  62. 1      Background
  63.  
  64.  
  65.  
  66. From a study of the researchconducted into the problems associated with software reuse and also
  67. from the industrial experiences of companies trying to employ reuse we,  in harmony with others,
  68. have identified a basis on which the success of reuse depends.  We believe that for reuse to flourish,
  69. it must be viewed as an integral part of the software life cycle.  Changes must be made to the way
  70. in which industry views reuse.  Industry needs to move away from simply the reuse of code and
  71. certainly away from the attitude that it is acceptable not to consider reuse at all. We examined why
  72. these attitudes have existed and our studies have led us to the conclusion that there are a number
  73. of inhibiting factors which limit the appeal of reuse to project managers and software developers.
  74. These inhibiting factors include, at a technical level:
  75.  
  76.  
  77.  
  78.     ffldevelopment - Knowing what kind of software is reusable and as equally difficult is knowing
  79.        how to develop a software component which is potentially reusable.
  80.  
  81.  
  82.     fflstorage - Once we have developed an item of reusable software how, and where, should it be
  83.        retained for future retrieval and reuse.
  84.  
  85.  
  86.     fflretrieval - If we are to reuse software then we must be able to easily find what we require
  87.        matching what is available with our needs.
  88.  
  89.  
  90.     fflverification - How can we be sure that the component which we are proposing to reuse actually
  91.        performs the functions that it claims it does in the environment in which we use it.
  92.  
  93.  
  94.     fflevaluation - How can we judge that the functions we require from our reusable unit and the
  95.        functions that it provides are the same.
  96.  
  97.  
  98.     fflmodification - If our evaluations have shown that differences exist in the reuse unit's and our
  99.        requirements then how do we perform the necessary modifications and what effect will this
  100.        have on the reusable unit including the results of previous verifications.
  101.  
  102.  
  103.     fflintegration - What will the effect be on the reusable unit of attempting to integrate it into
  104.        our development.
  105.  
  106.  
  107.  
  108. We thus came to the realisation that the underlying technical reason why reuse was not as successful
  109. is that developers would have liked as the inhibiting factors which we have described aboveincrease
  110. development risks. Since project managers tend towards the path with the smallest risksthey thus
  111. often, and rightly given the circumstances, tend to develop 'from scratch'.  We therefore consider
  112. that if reuse is to be successful we need to indicate its tangible benefits to project managers by
  113. reducing the risks associated with development and especially when reuseis b eingconsidered.  In
  114. addition it should strive to make reuse a continuous and integral part of the software development
  115. process as this has an effect both on risks and acceptability of risks.
  116.  
  117.  
  118. We acknowledge that there are other factors affecting the take up of reuse e.g. individual motiva-
  119. tions but such issues are outside the realm of this paper.
  120.  
  121.  
  122.  
  123. 2      Comparison
  124.  
  125.  
  126.  
  127. Barnes and Bollinger [1, 2 ] have indicated similar beliefs about the nature of the problems that are
  128. associated with software developments incorp orating reuse.  They advocate the necessity for a broad
  129.  
  130.  
  131.                                                           Burd- 2
  132.  
  133.  
  134. spectrum of reuse to be considered and stress the importance of considering human problem solving
  135. as an aspect of software development that is p otentially reusable.  Their work has concentrated on
  136. the need for incentives for performing reuse and have indicated ways in which this can be taken
  137. account  of  in  the  software  development  process.  In  addition  they  have  indicated  that  life  cycle
  138. integration is likely to one of the keyfactors which makes reuse truly effective. This work formed
  139. the foundation from which we embarked in our research One major contribution, and the issue on
  140. which we focus here, is the notion of risk and the reuse of risk assessment - a sort of human problem
  141. solving.
  142.  
  143.  
  144. In addition we have also built our work around Boehm's spiral model [3 , 4].  Wewill consider the
  145. additions we have made to the model in more detailb elow, but in brief we have to base our work
  146. on the spiral model because of its risk based approach to software development.  Our extensions
  147. were included to enhance the work of Boehm's to encourage a life cycle approach to reuse and a
  148. broad definition of reuse.
  149.  
  150.  
  151.  
  152. 3      Position
  153.  
  154.  
  155.  
  156. We  have  indicated  ab ove  that  development  risks  are  actually  be  increased  with  reuse.  This  is
  157. probably the most compelling reason to develop systems 'from scratch'.  However, the perceptions of
  158. risk may outweigh the actual risks,and social factors will tend to lead project managers towards the
  159. (perhaps illusory) feeling that developing 'from scratch' puts then in control' and hence minimises
  160. risk.  We  consider  these  apparent  increased  risks  an  unnecessary  burden  for  reuse  to  carry  and
  161. believe that given a broader definition of what is reusable from the software development process
  162. then reuse can actually serve to reduce development risks.  Perhaps more importantly by enabling
  163. risk-based decision making about reuse to be explicit, we can help ensure that decisions about reuse
  164. are balanced and well supported.
  165.  
  166.  
  167.  
  168. 3.1     Hypothesis
  169.  
  170.  
  171.  
  172. The hypothesis of the PROM project was therefore: reusing all products of software development
  173. will reduce the risks that are associated with reuse and that since develop ers will find reuse more
  174. acceptable, if they are aware of the scale of risks that are involved then reuse will become a necessary
  175. and informative part of software development.
  176.  
  177.  
  178.  
  179. 3.2     Research
  180.  
  181.  
  182.  
  183. As  we  indicated  above  that  our  work  has  been  based  on  building  extensions  to  Boehm's  spiral
  184. model.  This allows us to incorporate our aims of providing a reusemetho d which is integral to
  185. software development while supp ortingreuse continually and also encouraging a risk based approach
  186. to development.  These extensions have taken the form of a 'reuse spiral'.  This has a symbiotic
  187. relationship the spiral model; the spiral model encourages a risk based approach to development
  188. and the reuse spiral provides the 'know-how' for reuse.  Thus the information which is collected by
  189. one of the spirals is used by the other and vice versa.
  190.  
  191.  
  192. Each of the spirals of the two models are split into four quadrants. The activities that are concerned
  193. with these quadrants are as follows:
  194.  
  195.  
  196.  
  197.                                                           Burd- 3
  198.  
  199.  
  200.                            ________________________________________________________________________
  201.                            __Spiral_model_________Reuse_spiral_____________Problems_tackled________
  202.  
  203.                            _ Q1                 _                         _                        _
  204.                            _ Define system  _     Use information   _      Retrieval            _
  205.                            _  objectives and  _   gathered as         _                            _
  206.                            __constraints__________search_criteria___________________________________
  207.  
  208.                            _ Q2                 _                         _                        _
  209.                            _ Evaluate         _   Reuse risk          _    Evaluation          _
  210.                            _ alternatives     _   assessment          _    Verification         _
  211.                            _ identify and     _   information to     _                             _
  212.                            _ resolve risks.    _  aid risk              _                          _
  213.                            _______________________management________________________________________
  214.  
  215.                            _ Q3                 _                         _                        _
  216.                            _ Develop and    _     Reuse products    _      Development       _
  217.                            _ verify next -    _   of previous          _   Modification        _
  218.                            _ level product    _   developments      _      Integration          _
  219.                            _______________________where_possible____________________________________
  220.  
  221.                            _ Q4                 _                         _                        _
  222.                            _ Plan next        _   Focus record and _       Storage              _
  223.                            _ phases            _  commit decisions  _                              _
  224.                            _______________________to_the_library____________________________________
  225.  
  226.  
  227.  
  228. 3.3     Case Study
  229.  
  230.  
  231.  
  232. We consider that one area which is often disregarded in the field of reuse research are those activities
  233. which are concerned with the second quadrant of the reuse spiral; mainly that of the evaluation of
  234. the risks associated with a development. We have indicated how important this is for successful
  235. software development and therefore we will illustrate this process, of reusing risk evaluations, with
  236. the aid of an example derived from a case study of the National Health Service.
  237.  
  238.  
  239. In the second quadrant we perform the following activities:
  240.  
  241.  
  242.  
  243.     1. We use information from the similar projects which were located in the first quadrant and
  244.        investigate what options are available for developing a system,  and secondly what risk as-
  245.        sessments activities were associated which each option. From this information weare able to
  246.        indicate some of the risk criteria which are associated with our new development. In terms of
  247.        the health service, typical risk criteria for developing a system which informs doctors which
  248.        drugs  are  functionally  equivalent  may  be:  the  doctors  reaction  to  the  system;  the  cost  of
  249.        development; the accuracy of the information it generates; or the feasibility of building the
  250.        system.   Typical  options  may  be  to:  develop  a  database  application, an  expert  system  or
  251.        perhaps nothing at all i.e.  retain amanual system.
  252.  
  253.     2. We can now use sensitivity analysis to allow us to evaluate which is the best option to take
  254.        for our proposed development. In order to do this then we evaluate risk criteria individually
  255.        to obtain the utility for each risk criteria. The risk criteria for each option may be the same
  256.        but their utility will be different. (Here we use utility in a technical sense, a concept unifying
  257.        benefit and risk.)  In the caseof our drug substitution program the utility for cost will depend
  258.        on the expected cost of the individual options and the utility for doctors acceptance of the
  259.        system  may  for  instance  be  greater  for  the  database  option  than  the  expert  system  since
  260.        doctors  may  feel  an  expert  system  is  de-skilling  their  job.  Weightings  are  then  placed  on
  261.  
  262.  
  263.  
  264.                                                           Burd- 4
  265.  
  266.  
  267.        the individual criteria (again information gained from previous projects) in order that the
  268.        interaction effects between the individual risk criteria can be evaluated.
  269.  
  270.     3. By folding back the decision trees the utility for each option can then be considered and the
  271.        option with the highest utility, or greatest expected payoff, can b e selected.
  272.  
  273.  
  274.  
  275. 3.4     Conclusions
  276.  
  277.  
  278.  
  279. Our studies have lead us to conclude that an all round approach to reuse improves the chances of
  280. a product or process definition of a previous development being reusable. Without taking a risk
  281. based approach to development the typ eof reuse which we have described would in most cases be
  282. infeasible. Thus we believe that reusing risk assessment,weightings and prototypes etc. allow more
  283. informed judgements to be made as to the feasibility of various options of software development
  284. and therefore reuse to be, in general, more successful.
  285.  
  286.  
  287.  
  288. References
  289.  
  290.  
  291.  
  292. [1]  T. B. B.H. Barnes, "Making Reuse Cost-Effective," IEEE Software, pp. 13-24, January 1991.
  293.  
  294.  
  295. [2]  S. P. T.B. Bollinger, "Economics of Reuse: issues and alternatives," Information and Technol-
  296.      ogy, December 1990.
  297.  
  298.  
  299. [3]  B. Boehm, "A Spiral Model for Software Development and Enhancements," IEEE Computer,
  300.      pp. 61-72, May 1988.
  301.  
  302.  
  303. [4]  B. Boehm, "Software Risk Management: Principles and Practices," IEEE Software, pp. 32-41,
  304.      January 1991.
  305.  
  306.  
  307.  
  308. 4      Biography
  309.  
  310.  
  311.  
  312. Elizabeth Burd's background is in education; she is a qualified teacher. In 1989 she entered the
  313. research  community  and  after  completing  a  masters  in  Information  processing  she  subsequently
  314. proceeded to research for a Ph.D. in the Information Systems group at the University of York. She
  315. is currently working on the PROM project which isconcerned with a life cycle approach to reuse.
  316. Her interests in education are very much reflected in the options she is considering to aid some of
  317. the problems associated with reuse.
  318.  
  319.  
  320. Elizabeth is also a member of the British Computer Society Reuse Special InterestGroup commit-
  321. tee.
  322.  
  323.  
  324. John McDermid has been Professor of Software Engineering at the University of York since 1987.
  325. Prior to coming to York he worked for SD-Scicon and the Royal Signals and Radar Establishment
  326. (now the DRA Malvern). At the University he runs the High Integrity Systems Engineering group,
  327. concentrating on safety-critical and dependable systems. He is also the technical director of the
  328. Dependable Computing Systems Centre set up by British Aerospace at the Universities of York
  329. and Newcastle and a director of York Software Engineering Ltd.
  330.  
  331.  
  332.  
  333.                                                           Burd- 5
  334.  
  335.  
  336. He is active in the professional community, and has assisted the IEE and BCS in major studies of
  337. safety-critical systems. He has published widely, being the author or editor of six books, and the
  338. author or co-author of about one hundred and twenty papers and articles.
  339.  
  340.  
  341.  
  342.                                                           Burd- 6
  343.