The Evolution Of Software Quality Management

The business aspects of software quality are evolving, along with hardware platforms, software languages, software development tools, and the process of defining and building software products. There are at least five distinct models for organizing the software quality management function:

1. Developers do their own QA.

2. Test or QA engineers are integrated within the development teams.

3. A separate QA group belongs to the engineering manager or VP.

4. A separate QA group belongs to a VP other than the engineering VP.

5. A separate QA organization reports directly to the senior business manager (or a VP of quality who then reports to him or her).

The variety of specific solutions is not surprising, because the industry is still struggling to figure out this problem. Like the software business in general, each company seems intent on inventing its own model for software quality management. Because all the models are based on a do-it-yourself approach, they are subject to the problems identified earlier. Outsourcing software QA activities is an emerging model that offers the business manager a viable option to solving product quality and quality ma nagement problems.

Historically, QA outsourcing consisted of low-cost, fast-turnaround supplements to internal testing efforts. Several outsourcing companies thrived by providing compatibility testing of software against various hardware platforms and components.

Typically, client software companies would be running late on development and lack the in-house resources or equipment for fast-turnaround compatibility testing. So they turned to software QA outsourcing, contracting with independent test labs for specific test projects. And while this offered independence and objectivity, it aimed at solving a QA manager's staffing shortfall, rather than a business manager's basic quality management problem.

This early model of outsourcing testing is rapidly evolving as major companies try to improve their quality processes. The use of outsourcing is not only accelerating, but changing, as is illustrated by an outsourcing relationship with a leading PC manufacturer.

In 1995, the PC manufacturer started systematically investigating testing laboratories, which it then used on small, noncritical projects that were not adequately staffed internally. There were reviews after each early project that tested localized software versions. The reviews identified how to improve the testing and communications processes on the next project. Thus, over time, the manufacturer developed trained, trusted people available to the its test organization for overflow work. The organization also planned to outsource some portion of the work and develop a set of trusted, long-term vendors.

By 1997, the manufacturer had decided not to grow its internal testing resources at the rate necessary to deal with an exploding workload. Instead, it formed an internal group whose sole function was management of software test outsourcing activities. A key strategy was to encourage the best vendors to open local labs to improve focus and communications.

In early 1998, QualityLogic, Inc. opened a dedicated lab as a joint venture with another company near the manufacturer's facilities. This lab marked a watershed for the test outsourcing industry in two critical ways. First, it was the first instance of a local software testing lab dedicated to working with a single customer at that customer's[5] invitation. Second, the lab was entirely staffed by local people, many of whom the manufacturer had employed as software QA engineers. The new lab manager, who formerly headed the manufacturer's test center, brought with him a number of senior software test engineers.

A further evolution is already in process, whereby companies are completely outsourcing some or all aspects of the software quality management function. For example, several organizations have engaged QualityLogic to build and manage their entire software quality function. The vendor hires the company's existing staff or new staff members, as required, who then become an integral part of the client organization.

The team works on the client site, reporting directly to the business manager or through a designated representative. The vendor's QA manager is responsible to the business manager for ensuring product and process quality within the defined budget. In fact, the vendor's QA manager is also the client's business manager for the specific software QA activity involved.

In all cases, the vendor has a direct company-to-company business relationship with the business manager. In other words, the vendor is solving the business manager's problem at the same time as it solves the engineering organization's quality control problems.

This model opens the door for the outsourced QA organization to be an influential participant in the client's internal development process and tool improvement initiatives. The vendor not only conducts the actual testing activities, but also provides the clients with quality assurance services. The activities include implementing both a defect tracking and a configuration management process (and tools), as well as planning and implementing other process improvement actions.

[5]While a number of companies have contracted to put dedicated software test teams on a customer's site, these companies have typically not been dedicated software testing companies, nor have they put dedicated labs in place without specific long-term contracts.

Understanding Outsourcing

Understanding Outsourcing

If you can answer yes to the following questions you'll want to get your hands on the Understanding Outsourcing Crash Course Package! Have you been looking for a great way to get more subscribers? Do you constantly seek quality information to provide to your readers? Have you been looking for a way to quickly increase awareness, traffic and profits for your business?

Get My Free Ebook


Post a comment