 |
STOP SCRATCHING THE SURFACE OF SOFTWARE QUALITY
October 2008
Every year we attend several software development and testing conferences, including the STAR conferences. In principle, these events provide QA managers and CIOs with information on new advances in software quality technology. We look for important new technologies and services that truly will make a difference—that is, new stuff that substantially raises the ability to routinely deliver complex software on time, on budget, and with few, if any, functional defects. We look for advancements that will make any IT organization more productive, not just a few of them.
And every year we come away disappointed. The solutions for software quality remain very ad hoc and situation specific. One person commented that the technical sessions all seem to boil down to "test harder and work smarter." Training seminars represent a huge potpourri of approaches to testing, with no clear way of discerning which approach delivers reliably and under what circumstances. As a CIO, will my ability to deliver quality software benefit more from training in Exploratory Testing or the course on Systematic Testing? How will I know? On the technology side, everyone wants to buy or sell a tool. The "tool" CD has become the aspirin for relieving software quality woes. Unfortunately, aspirin is not the solution when the patient has pneumonia.
IT budgets are going to shrink in these economic times. And if we cannot deliver defect-free software within these tougher resource constraints, our companies will be at risk. The big cost- and quality-drivers are known: poor specification of software requirements followed up by poor and inconsistent testing. These issues double the cost of many software projects and add significant unnecessary cost to the rest. In the average IT budget, these avoidable costs represent big numbers.
It’s time to stop merely scratching the surface of software quality. Quality cost-drivers are not going to go away by buying a few seats of a $4,000 tool or sending a few QA folks to a training class and hoping for some incremental improvement. If you want your software development costs to substantially decrease, then it will require commitment to changing processes and skills as well as technology. The essential change is to begin integrating requirements specification with testing, particularly test case design. Create testable functional specifications and the suite of test cases that will fully exercise that functionality in the code—both at the same time, both before the code is written (with all the bugs introduced). Call it "requirements-based quality" or getting it "Right From The Start." The processes and technology are different from traditional testing. Instead of writing test cases, test engineers evaluate the logical completeness and consistency of the functional specifications and let advanced technology write the detailed test cases. Software design and software testing proceed in tandem, not sequentially. Testing skills emphasize critical analysis of specifications over trying to "break" the software during testing.
Moving to a requirements-based quality approach does not represent risk. It works. The processes and supporting technologies are well understood and have been consistently proven in a wide range of software development environments and organizations. Implementation can be accomplished on an incremental, save-as-you-go basis. There are several very experienced resources in the marketplace to make your organization successful.
Software cost and quality pressures are only going to rise in the foreseeable future. It’s time to stop merely scratching the surface of the problem with another tool or class and get to the root of software costs and defects.
|
 |
 |
Got feedback?
We’d love to hear from you. Send us a note if you would like further information on a specific topic or if you have any questions.
Past Issues
The Elephant in the Room
Guess the Project Cost
Is "IT" really this difficult?
Manage the project, not MS Project
The Mythical 4-Month Project
AGILE, INCREMENTAL, WATERFALL: Is there a quality difference?
Automating Test Execution: What You Need to Know.
Check out our videos
Webinar: Why are IT projects so hard (and what can I do about it)?
TMX Product Family Video
TMX 3-Minute Overview
|
 |
 |