High-Quality Code Pays Off

 
 
By Peter Coffee  |  Posted 2001-10-01 Email Print this article Print
 
 
 
 
 
 
 

Greater software-as-service expectations may mean better QA earlier on.

Software quality assurance can be applied at any point in the pipeline that connects a users need with a deployed solution. The choice of where to put that pressure must balance concerns of schedule, cost and business reputation.

Design time is the highest leverage point in terms of least effort to prevent greatest harm. Modern development tools, regrettably, encourage prototyping that all too quickly turns into production coding without the benefit of a specification.

End-user testing is all too often the default quality strategy, but this so-called gamma testing wont survive the transition from software as boxed good to software as online service. Development teams must find a way to reconcile the rising expectations of software-as-service with the human nature of developers and their managers.

Process guru Edward Yourdon opines that the price of pursuing perfection is being far too late to market; that users will choose the continuing cost of putting up with bugs in what theyve already learned to use, rather than enduring the short, sharp pain of converting to even a higher-quality product. Yourdon hopes that improved understanding of the development process will enable rational calculation and negotiation.

"The project manager," Yourdon urges, "should be able to say something like, Our standard approach for developing the software youve described will require X number of people and Y units of time, with a cost of Z dollars; well deliver P units of functionality, with a defect level of Q bugs per function point." Hes quick to warn, however, that "the relationships between X, Y, Z, P and Q are something we dont know enough about."

Static source code inspection is gaining ground among methods of defect prevention. Dynamic testing is becoming a daunting task in event-driven applications, and many studies make the case that inspection is cheaper: Ratios have ranged from 6-to-1 at TRW Inc. to as high as 20-to-1 at IBMs Santa Teresa (Calif.) Lab for costs of fixing bugs found in testing compared with those found by source code analysis.

Unconstrained languages such as C or C++ might seem to defy such scrutiny, but the same techniques that perform compile-time optimization of code can also ask the question "Is there any way that this code can get itself into trouble?" Thats what Reasoning Inc., for example, does with its Illuma analysis service, which will be unveiled this week.

Finding defects today is not, however, the same thing as preventing them tomorrow. The origin and spread of defects is important to understand, and reports such as those produced by Illuma must be analyzed with that goal in mind.

Illuma also offers metrics analysis, comparing defect densities with those that Reasoning has observed in many other projects. Managers can not only ask "How many bugs do we have?" but also can ask "Are we good enough?" Its up to software buyers to tell them how good that is.

 
 
 
 
Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...
 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
 
 
Rocket Fuel