2012 Issue

37 In a quality-controlled production environment, quality is engineered into the process from the start to the finish, and not just at the end of the process. But in my travels as a consultant, I find most software development groups have never considered managing software production quality throughout the process. A TYPICAL SOFTWARE DEVELOP- MENT group has a dedicated team at the end of the software construc- tion process that tests the software to be sure it meets the functional require- ments of the software, and has a relatively low remaining-defect count. A good rule of thumb for a software environment is to have one quality assurance tester for every three programmers. This is a good start, and companies with this arrangement can be reasonably confident that the software they produce has a low error count. Advanced Software Quality Manage- ment, however, is about more than just verifying requirements and test- ing for errors. Consider the software development lifecycle. Software pro- gresses from an initial concept to a scope of requirements. It then goes through a design process, a coding stage, a testing stage, and, finally, the software is a releasable product. Testing for quality after the coding stage is a start, but does not adequately protect the process against failures that may have been introduced in previous stages of the software development life cycle. This is an important consideration because the least expensive place to locate an error is within the phase it was introduced. It is far more expensive to locate an error during a later phase. In contrast to the above example, consider a distinct testing step established for each designated phase. Beyond Testing: Advanced Software Quality Management BEYOND TESTING | continued on page 38

RkJQdWJsaXNoZXIy OTM0Njg2