home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / software / 5132 < prev    next >
Encoding:
Text File  |  1992-12-22  |  9.6 KB  |  219 lines

  1. Newsgroups: comp.software-eng
  2. Path: sparky!uunet!gatech!darwin.sura.net!udel!rochester!rocksanne!news
  3. From: kirby.roch803@xerox.com (Mike Kirby)
  4. Subject: Re: Debugging the process
  5. Message-ID: <1992Dec22.193238.7731@spectrum.xerox.com>
  6. Sender: news@spectrum.xerox.com
  7. Reply-To: kirby.roch803@xerox.com
  8. Organization: Xerox Corporation, Webster NY
  9. References: <1992Dec22.164508.2582@csi.uottawa.ca>
  10. Date: Tue, 22 Dec 1992 19:32:38 GMT
  11. Lines: 206
  12.  
  13. In article 2582@csi.uottawa.ca, bwatt@csi.uottawa.ca (Bill Watt) writes:
  14. >
  15. >Hypothesis: 
  16. >  Software quality improvement should be done by 
  17. >  inspecting products: first, to find and fix defects, and second, 
  18. >  to gather data in order to identify and prevent defects.
  19. >
  20.  
  21. Insepction is one way to help improve quality in any software
  22. organization.  It is not the only way, and should be used in concert
  23. with other methods.  Inspections are, by definition, after the fact.
  24. It would be nice if we could produce a product with assurance that the
  25. process was so good that we don't need inspections.
  26.  
  27. >
  28. >1. It is not necessary to follow the SEI model to benefit from 
  29. >statistical quality control in software development. Inspections 
  30. >can be done on any product (specs, design, code, test cases, 
  31. >documentation). One can start any time. One does not have to wait 
  32. >until SEI level 5. Inspections serve two purposes: first, to find 
  33. >and fix defects; second, to accumulate data on the kinds of 
  34. >defects encountered and then guide management in removing the 
  35. >causes of the defects. As Dr. Demming has shown, using inspections 
  36. >to remove causes of defects reduces the cost of rejects, reduces 
  37. >the cost of rework, and eventually reduces the cost of inspections.
  38. >
  39.  
  40. I disagree.  If you are doing inspections and they are working, a number
  41. of events have already taken place.  First, management is supporting
  42. you.  This is most likely because a case has been made to them about
  43. how much money they can save, exactly how much time and resources it
  44. will cost.  They have taken this into account in their schedules and
  45. budgets and have provided engineering with the appropriate resources.
  46. Management holds regularly scheduled review meetings to determine the
  47. effect of the inspections and to ensure that the results from
  48. inspections are taking effect.  Management has also provided you with a
  49. development environment where you can control the changes made to the
  50. products by the inspection teams.
  51.  
  52. If the engineering team has different software products (like specs,
  53. design, code) and it is produced under well documented standards (as
  54. the inspection process requires) then it can be argued that a group has
  55. a defined engineering process.  The results of each stage of the
  56. process are inspected for defects and changes are made to the product
  57. as specified.
  58.  
  59. Fagan's formal inspection technique demands a significan amount of
  60. metrics.  These metrics are really what make the inspection technique
  61. worth doing.  Without them you cannot tell whether or not all the time
  62. and energy (which is not small) that went into the inspection process
  63. payed off.  Management will want to know what the payback is in
  64. specifics.
  65.  
  66. What I have just described are a management process, an engineering
  67. process, and a metrics program. (although the metrics program is a
  68. product metrics, not process).  With this type of base an organization
  69. is probabaly a level 3 organization.  With this an organization will be
  70. in continous improvement of product.  With the adition of process
  71. metrics they will be able to predict product quality and identify
  72. process faults.  A Level 5 organization will continously improve
  73. process based on the metrics installed at the previous level.
  74.  
  75. >
  76. >2. Dr. Humphrey emphasizes in "Managing the Software Process" that 
  77. >the SEI model is for the development of large, complex software 
  78. >products. One example he uses is a product (an IBM operating 
  79. >system, I believe) developed at 13 laboratories spread over 8 
  80. >countries. For this kind of project the process should probably be 
  81.  
  82. I don't believe that the SEI model is very complex.  It is quite simple
  83. actually, Common sense probabaly.  And it is flexible enough so that
  84. portions which do not apply to a particular shop can be left out
  85. (sub-contract management for example).
  86.  
  87. >as complex as the SEI model. But not necessarily. One should start 
  88. >with inspections and add management practices from the SEI list as 
  89. >required to eliminate the causes of defects.
  90.  
  91. How are you going to convince management to allow you to spend the
  92. resources on inspection if they don't have a process in which to
  93. allocate and schedule resources.  It is possible to start with
  94. inspections on code and slowly add engineering practices as you slowly
  95. move up the development cycle in your inspections.
  96.  
  97. >
  98.  
  99. >
  100. >3. If software workers (are unionized and) object to inspections 
  101. >because the findings may be used to substantiate terminations, an 
  102. >independent auditor should moderate the inspections and provide a 
  103. >periodic impersonal statistical summary of the defects to 
  104. >management. These should be posted and employees encouraged to 
  105. >offer suggestions on changing the process to eliminate causes of 
  106. >defects. Defects arise mostly from problems in the way the work is 
  107. >organized, not from the way individuals perform.
  108. >
  109.  
  110. A Key point.  Note that this is part of the management process.
  111. Management needs to organize and communicate the inspection process.
  112. Engineering needs to implement it effectively.
  113.  
  114. >
  115. >4. 
  116. [ Good Point Deleted]
  117.  
  118. >>5. After starting inspections, wait until the stats settle down 
  119. >before making any management changes. Starting inspections will 
  120. >tend to decrease defects without any management changes as workers 
  121. >use the feedback to change their individual processing. After they 
  122. >have done so take the remaining defects to management for changes 
  123. >to the organization of the work. Also, as Dr. Demming points out, 
  124. >if the process isn't stable you can't measure the effect of changes.
  125. >
  126.  
  127. Since this requires (some) process, you must at least be level 2.  It
  128. also seems quite reasonable that if you do not have an engineering
  129. process then it becomes difficult to identify the cause of the
  130. problem.  Is it a known and documented management technique?  Or is it
  131. an unknown and undocumented engineering technique.  Only with a
  132. documented engineering process and a documented management process AND
  133. process measurements can we make changes to the process based on
  134. product failures.
  135.  
  136. >
  137. >6. The SEI model is the process equivalent of the waterfall model. 
  138. >As such it has limited application. Also, it is the wrong way 
  139. >around in the sense that it leaves process improvement by 
  140. >statistical quality control to the final level. The insistence 
  141. >that the whole process be defined and in place in order to benefit 
  142. >from statistical quality control is in error because the 
  143. >individual worker (the indivisible atomic process) and and every  
  144. >part of a process producing something tangible can benefit from 
  145. >statistical methods.
  146.  
  147. NO, NO, NO, NO,  (deep breath...Count to 10)
  148.  
  149. All the SEI is saying is that you need to have a management process in
  150. place before an engineering process will be able to take hold.  and you
  151. need both processes before you can determine if a product failure is
  152. due to engineering or to management.  AND you need to be able to
  153. measure both.  Once you can do these things then you will be able to
  154. continously improve the processes.
  155.  
  156. It seems quite reasonable that limited process measures should be
  157. installed as the processes are put in place.  Improvements on the
  158. process can be made prior to the progress to the next step.
  159. Unfortunately if this is followed immediately by a product failure
  160. (late project, poor engineering, etc), does this imply that the process
  161. change was bad? Or was the fact that we have no engineering process the
  162. cause of the blame?  We don't know.  All we can measure is our
  163. managememt process.  We don't know if the engineering process suffered
  164. because we have none.
  165.  
  166. >
  167. >
  168. >7. Of the two approaches to quality, a) defined as having 
  169. >desirable properties, b) defined as having no undesirable 
  170. >properties (defects), the second is more promising in that it is 
  171. >measurable and controlable with statistical methods.
  172. >
  173. >
  174. >8. The software development process is not the problem. The 
  175. >quality of the input to the process is the greater problem. More 
  176. >benefit will come from client capability assessment than from 
  177. >software developer capability assessment. Software engineering 
  178. >has been through this before as it was attempted to prove program 
  179. >correctness. It should have been evident then that programmers 
  180. >were not making the mistakes, customers and their systems analysts 
  181. >were making the mistakes in not specifying requirements correctly. 
  182. >One can't build systems for clients who a) don't know what they're 
  183. >doing, b) can't agree among themselves on what they want, and c) 
  184. >don't have any time to devote to the project.
  185. >
  186.  
  187. In the SEI's model, this IS the software development process.  From the
  188. establishment of requirements, through the management of each phase in
  189. the lifecycle, to the support of the end product.  All of this has
  190. process elements that are contribute to the overall quality of the 
  191. end product.  The SEI is saying the you must document all these
  192. processes and measure them and from the measurements change
  193. the documentation to reach continous PROCESS improvement.  Product
  194. improvement is something else that a good process should do. 
  195.  
  196.  
  197. >
  198. >
  199. >Would like to hear from those studying cause and effect 
  200. >relationships in software defects, and categorizing ways of 
  201. >preventing different kinds of defects in different kinds of 
  202. >systems.
  203. >
  204. >
  205. >Wm. R. Watt
  206.  
  207.  
  208. Sorry for the long winded reply.
  209.  
  210. Mike Kirby
  211. Xerox Corp
  212. E-mail: kirby.roch803@xerox.com
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.