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 / wisr7 / proceedings / txt / ylarotiala.txt < prev   
Text File  |  1995-08-13  |  14KB  |  252 lines

  1. How to convince the management?
  2.  
  3. Aarne H. Yla-Rotiala
  4.  
  5. Nokia Telecommunications
  6. P.O. Box 33
  7. 02601 Espoo, FINLAND
  8. Tel: (358) 0 5112 6542
  9. Email: aarne.yla-rotiala@ntc.nokia.com
  10.  
  11. Abstract
  12.  
  13. Software reuse is a way to increase productivity and to get better quality. 
  14. It seems that reuse is often stated as a goal for improvement programs, 
  15. and that companies and other organizations feel the need to "do reuse". 
  16. The order of steps is not predetermined, but then by keeping the actual 
  17. goals - productivity, product quality, customer satisfaction - in mind one 
  18. is able to travel towards a better software engineering solution. By 
  19. improving the organization's state of the practice it is possible to finally 
  20. stumble into reuse, but without having to bleed in the process. Doing the 
  21. improvement in a planned manner with centralized resource allocations 
  22. could be in some way more efficient than this Darwinian path, but the 
  23. effect on customer-oriented and financially responsible units within a 
  24. company can be negative. The conclusion of this presentation is that "It 
  25. looks like having reuse as a goal is having the wrong goal", especially 
  26. from the management perspective. The conclusion is followed by the 
  27. question "What is wrong with this conclusion?".
  28.  
  29. Keywords: Quality, productivity, investment, management.
  30.  
  31. Workshop Goals:Practical experience exchange, counter arguments 
  32. against my position.
  33.  
  34. Working Groups: Tools and environments,Software engineering 
  35. management and economics
  36.  
  37. 1   Background
  38.  
  39. I have been a practicing software engineer for several years now. As such, 
  40. I have gotten more or less acquainted with several methods to achieve 
  41. better quality and productivity. Among these methods, reuse has been 
  42. and still is one of my favorites. During my active career I have written 
  43. and used (re-)usable components, and tried to get a grasp of what reuse 
  44. is all about. So far I am in the wilderness: there seems to be little 
  45. difference between "Solid Software Engineering" and "Software Reuse".
  46.  
  47. 2   Position
  48.  
  49. Motorola [1] and IBM [2] have documented successful reuse programs. 
  50. These and other efforts like STARS are specificly aimed at enhancing 
  51. reuse in the organization's software engineering process. This requires a 
  52. lot of management support and commitment, up to the CEO level. 
  53. Investments are huge, and the pay-off time is usually several years.  The 
  54. positive effect of such a program is "enhanced reuse" and "better 
  55. reusability"of the software products created in the organization. 
  56. Eventually this is believed to result in lower overall costs, better quality 
  57. and shorter time to market for new products, which are all desirable 
  58. goals. These goals - and other similar ones - are what companies are 
  59. actually looking for when they launch "quality", "productivity" or even 
  60. "reuse" programs.
  61.  
  62. Given the time-scale and investment required to start and run a 
  63. successful reuse program , it is not very likely that the average manager 
  64. is willing to authorize such a program. If the program's goal is set to 
  65. enhance reuse, the connection between the bottom line - or harder-to-
  66. measure things like customer satisfaction - is very fuzzy at best. Fast 
  67. programs with more concrete goals are likely to be easier to accept. 
  68. Expensive initiatives that take years to complete should not focus on 
  69. only one aspect or method to achieve better quality and larger profits, 
  70. but on a holistic approach to the company's software engineering process 
  71. and environments. The chain of deduction should go the other way 
  72. round: Do something for better abstractions, create better tools, enhance 
  73. communications, educate the engineers and preach about usability on 
  74. all levels of you process and product, and eventually you'll get better 
  75. quality, faster throughput, larger profits and even more (re-)usable 
  76. software and more (re-)use of existing artifacts. My position is therefore 
  77. that "reuse" is actually a synonym for several "Good Things" in Software 
  78. Engineering, and that many software engineers and managers see it that 
  79. way, and that to achieve these "Good Things"  ne should concentrate on 
  80. good software engineering process and methodology improvement in 
  81. general.
  82.  
  83. 2.1  The Case of Nokia Telecommunications
  84.  
  85. The above position stems from a few observations made at Nokia 
  86. Telecommunications.There has been an ongoing discussion about "reuse" 
  87. and the necessity of it, which actually seems to have blinded us from the 
  88. fact that in a sense we are already there.
  89.  
  90. NTC's DX 200 product's internal architecture has been under scrutiny, 
  91. and the results are being implemented. The product - and the 
  92. organization - is organized into several platforms of different abstraction 
  93. levels. New enhancements to common platforms are made partially by 
  94. applying a standard procedure for generalizing specific features created 
  95. initially for a narrow or even a customer-specific purpose. Different 
  96. system and code generators have been built over the years, and the 
  97. abstraction level for the average softare engineer is continuously getting 
  98. higher and higher. All these - a common repository or a "platform"and 
  99. the higher level tools - have been initiated as more or less independent 
  100. projects. The end result from this drive towards clear goals is actually 
  101. very similar to what is the cookbook approach toward reuse 1 . This is 
  102. the observation that deserves some attention, since the word "reuse" has 
  103. been mentioned only in the context that "we should be doing it", and 
  104. usually it has been found out that "in a sense, we are already doing it", 
  105. which revelation leads to either the conclusion that we are not doing 
  106. enough or to the question about "where is the beef in reuse - do we need 
  107. to think about it any more".
  108.  
  109. The way process and methdology enhancements have usually started is 
  110. that there has been a clear idea of what should be done and what 
  111. benefits the improvement would bring with it. Thus, on the road to the 
  112. current situation,the motivation has always been something else but 
  113. reuse - better quality, better productivity or whatever. In the tough 
  114. competition there seems to be little or no room for two-phased 
  115. improvement paths forcing the organization first to invest to reach an 
  116. intermediate state of "Great Expectations", and from there to proceed to 
  117. financial success. It is possible to justify and start large investments with 
  118. long pay-off times if the benefits are clear and large enough, but it seems 
  119. unlikely that such investments can be done if the promised benefits 
  120. have no direct consequences in the company's competitiveness. For this 
  121. reason reuse should not be stated as a goal for an improvement program, 
  122. and no company should make the error of believing that "doing reuse" is 
  123. the goal of any of its actions 2 .
  124.  
  125. 2.2  Planned company-level reuse can be bad for the company
  126.  
  127. Some successful companies - including Nokia 3 - try to avoid too much 
  128. centralized control, and favor more or less independent business units 
  129. with clear customer-orientation and local authority for all business-
  130. related issues 4 . The business units are given responsibility of their 
  131. customer accounts and products, they have precise profit goals, and 
  132. therefore they have a large amount of authority. This implies that a 
  133. company-wide program that affects the software production technology 
  134. and the software engineering processes in the profit centers could disrupt 
  135. the operations of the units. If a large-scale program is to be started, the 
  136. program should be accepted both in the headquarters and in the units. 
  137. Since the units usually have slightly different short-term and long-term 
  138. goals, creating an agreement of what should be done, who pays for it and 
  139. how much effort should be put in can be difficult.
  140.  
  141. All this implies that large-scale reuse programs can be hard to start in 
  142. some business environments. The necessary "CEO support" - or, at 
  143. business unit level, the "unit manager support" - means that the CEO or 
  144. the unit manager should start interfering with the operations of the 
  145. units or the departments, which implies that the management 
  146. philosophy has to be more or less centralized. If not, interfering with the 
  147. local authority can disrupt the smooth local operations,which is usually 
  148. not a good thing. In exceptional cases it can be done; for example, a 
  149. quality system and the ISO9000 approval must be a company-wide 
  150. effort. Implementing a similar program for an individual technique or 
  151. set of techniques like reuse in the corporate level is somewhat unlikely 
  152. since a corporate program interferes and disrupts the operations of the 
  153. units, and therefore breaks the corporatemanagement culture,which is 
  154. usually much more valuable than an independent implementation-level 
  155. technology. In the unit - or "domain" - level such a program is easier to  
  156. start, but the acceptable amount of resource expenditure is naturally 
  157. much smaller. That means that investments are smaller and that the 
  158. technology to be used must scale down, too, and that there should be a 
  159. mechanism of building software engineering infrastructure in general 
  160. and reuse technology in particular at least partially in a bottom-up 
  161. manner.
  162.  
  163. _______________________________
  164.  1 Spend time and resources to get large common building blocks for 
  165. application developers.Build system generators if you can. Take care of 
  166. communications and quality control.
  167.   2 Excluding companies that try to sell reuse, naturally.
  168.   3 The CEOJorma Ollila has publicly stated that he is very happy with 
  169. the distributed decision-making in the group and finds it a valuable 
  170. asset.
  171.   4According to the sales people of e.g. Hewlett-Packard, HP has similar 
  172. attitude towards local versus centralized decision-making.
  173.  
  174. 3   Comparison with other work
  175.  
  176. This position seems to contrast the positive results from e.g. IBM and 
  177. Motorola.  The described improvement method has a similarity with the 
  178. Capability Maturity Model [3]. The difference can be only a superficial 
  179. one: what has been said here is that the goals and motives for doing 
  180. improvements should be suitable for the organization and that the goals 
  181. should offer something measurable. This is in no contrast with what has 
  182. been said in earlier work. On the other hand, the concept of having reuse 
  183. as a goal for an organization is not believed to be universally true. While
  184. it is OK to have e.g.  reuse as the initial theme for improvement, the 
  185. goals should be connected to the company's business improvements. 
  186. While the benefits of reuse programs cannot be denied, questions and 
  187. doubts about the overall efficiency arises, and alternative what-if 
  188. scenarios 5 would be very welcome to clarify the issues.
  189.  
  190. [4] attempts to explain the problems IBM faced in the computer 
  191. industry after the introduction of the IBMPC. The given explanation can 
  192. be argued, but the authors continue to describe a "Silicon Valley model" 
  193. of high technology management, which emphasizes fast actions, 
  194. concentration on the core competence and architectural domination of 
  195. the market. The model includes emphasis on loosely coupled small 
  196. organizations with well defined interfaces, which means distributed 
  197. control and command. The text implies that such an organization is 
  198. "goo d", and claims that the pace of technology requires it or some other 
  199. adaptive and slick organizational model. True or not,the Ferguson's and 
  200. Morris's arguments have a similarity with this presentation,and it would 
  201. indeed be hard to devise a way to implement a long-range reuse program 
  202. in a fast setting they describe.
  203.  
  204. The work about e.g. system generators [5] and other implementation 
  205. level reuse technologies is in no contrast or agreement with this 
  206. observation. The issue here is why and how should one run a reuse or 
  207. other process improvement projects, not the actual steps in the potential 
  208. projects.
  209.  
  210. Work and opinions about Software Process Automation [6] are 
  211. compatible with my alleged observation. Goals need to be defined, steps 
  212. determined and results measured when one is trying to improve the 
  213. performance of the organization. What might be left unsaid is that the 
  214. organization needs to be aware of what it really needs, and should not 
  215. concentrate on secondary or technological issues, at least not if the 
  216. technology is not the business of the organization.
  217.  
  218. _______________________________5
  219. Such scenarios are naturally error-prone, and prove little, if nothing.  
  220. They still present alternative lines of thinking, and are therefore 
  221. valuable.
  222.  
  223. References
  224.  
  225. [1]R. L. Joos, "Software reuse at motorola," IEEE Software, vol. 11, 
  226. September 1994.
  227.  
  228. [2]A. Endres, "Lessons learned in an industrial software lab," IEEE 
  229. Software, vol. 10, pp. 58-61, September 1993.
  230.  
  231. [3]M. Paulk, B. Curtis,and C. et al., "Capability Maturity Model for 
  232. Software," Tech. Rep. CMU/SEI-91-TR-24, Software Engineering 
  233. Institute/Carnegie Mellon University, Pittsburgh, Pennsylvania, August 
  234. 1991.
  235.  
  236. [4]C. H. Ferguson and C. R. Morris, Computer Wars. Times Books, 1994.
  237.  
  238. [5]D. Batory, V. Singhal, J. Thomas, S. Dasari, B. Geraci, and M. Sirkin, 
  239. "The Genvoca model of software-systemgenerators," IEEE Software, vol. 11, 
  240. September 1994.
  241.  
  242. [6]A. M. Christie, Software Process Automation. Springer-Verlag, 1995.
  243.  
  244. 4   Biography
  245.  
  246. Aarne H. Yla-Rotiala is a software engineer at Nokia Telecommunications. 
  247. He works at the software engineering department, and is currently 
  248. involved in a project that is developing the software engineering 
  249. environment in use at the development of DX 200 software. He received 
  250. a M.Sc from the university of Helsinkiin 1990, and is enlisted as a Ph.D 
  251. student at the department of computer science.
  252.