Software Under Scrutiny
By: Sue Bushell
It's not for the frugal or faint-hearted, but more and more organizations are employing software inspections as an integral process in the development of world-class quality software
Software process improvement consultant Edward F Weller III once chaired a panel of high-level managers (a vice president of engineering, a vice president of marketing who used to be software vice president, and a program manager at a major defence contractor), addressing the value of software inspections to their organizations.
One of the speakers was the VP of software development at the time Weller - then a senior member of the technical staff - introduced software inspections to his organization. In his talk the VP said one of the more interesting problems he was faced with in the day-to-day management of his organization was that a lot of very bright technical folks (and he showed every sign of including Weller in that group) were always coming to him with the latest and greatest ideas and solutions to various problems. These were mostly good ideas, he said - after all, they came from very brainy people - but the technical folks routinely oversold the benefit and undersold the cost to implement. Furthermore, every idea and solution thus proffered entailed some degree of risk.
He went on to say that when presented with a solution to a problem, he considered whether he knew what the current problem was and how to handle the impacts even if he did not know how to eliminate it; whether he was comfortable that he could manage the risk of the current problems and issues, and whether changing the way things were done, with up-front costs that were typically underestimated, might put him in an unrecoverable situation, or one that he had no familiarity with.
"So his take-away was that unless he could get a reasonably complete picture of the cost and risks to implement a new solution, and a sober evaluation of the benefits, he was reluctant to change from the previously mapped path," says Weller, a recognized expert on the inspection process. Weller is associated with Software Technology Transition, a company that provides software process improvement consulting services.
"In the case of inspections we were able to document via historical data, fortunately some that came from similar product development lines, that there were considerable savings to be had. We also had good historical data on the cost of debugging via test, as well as the difficulty in testing sufficient quality into the products at a reasonable cost and schedule, so it was possible to construct a good case for doing inspections," Weller continues.
"We did implement inspections, and collected cost data from the start, and began reporting the results to the organization within weeks of the first inspection. Industry data was replaced by our data very quickly, and showed the huge cost savings that we were getting."
Later in a different company, Weller tried to repeat the success.
"The division general manager may have grunted when I suggested the value of inspections, but that was about all the reaction I got. On the positive side, his philosophy was that if an idea was good enough, it would sell itself in the organization. I found a project manager with a past history of using inspections and we trained his team, and inspected the full set of use cases that were the basis for requirements for a subcontracted development.
"The project team later presented their results at a lunchtime brown bag, an information exchange encouraged by the GM. The team conclusively demonstrated the potential for a multi-million dollar rework cost based on analysis of the defects found in the inspection. At this point the GM suggested that inspections would be added to the list of division best practices. He also supported mandatory attendance in training classes.
"A common thread in both cases was providing information that was reasonable and believable to the managers," says Weller. "Overstated claims would have been ignored."
The message Weller took from those and similar experiences, not to mention discussions with peers in the industry, is that when management ignores your "perfect solution" you need to go back and look at your sales pitch and meet the information needs of the decision maker.
And thus endeth one lesson about software inspection processes, which have proved the optimum way to reduce development costs, shorten delivery schedules and increase the trustworthiness of operational software products in the field.
... to read more articles, visit http://sqa.fyicenter.com/art/