Process Change Management - Testing Tools

A quality conscious organization must realize that the process defined for software development is not a static document that cannot be modified. Continuous process improvement—whereby the organization will improve its profitability, the individuals will improve their productivity, new technologies can be inducted into the organization—is a must for every vibrant organization.

The quality models and standards, ISO 9000 or CMMI, are also aimed at a continuously improving organization's capabilities. To continuously improve, one has to continuously learn. Such learning organizations will grow with changing times.

To change the process for betterment, the project manager has to define a process for process change management. Changes to the defined process should not be done on ad hoc basis, but using formal procedures. For instance, one engineer may come up with an idea of a new way of project estimation. He may claim that it is more accurate than the existing method. To prove the effectiveness of the new model, the model has to be studied along with the old model for at least a few projects and once the effectiveness is ascertained, then it can be introduced for all the other projects. Such a systematic way of process change management would help in ensuring that no errors are introduced in the process.

The process change has to be monitored and reviewed by the senior management. Employees should be encouraged and rewards can be introduced for suggestions on process change. Procedure for handling process change should be clearly defined:

  1. Submission of proposal as to why the change is proposed—based on customer feedback, defect report analysis, benchmarking results, external auditor remarks or internal QA recommendations.
  2. Evaluation of each proposal and documentation.
  3. Decision on the priority of the proposal.
  4. Implementation plan including responsibility and time frame.
  5. Tracking the status of each proposal.

Quality Process Implementation Issues

The essence of ISO 9000 series standards and the CMMI framework is the same. Define a process, implement it and periodically review the process to check its effectiveness and based on the review of the results, improve the process. As the software development process is a highly complex activity, the process is divided into various sub-activities and each sub-activity (call it clause or Process Area, it does not matter), follow a defined methodology. As it is humanly not possible or advisable to rely on our memories all the time, we should document all these process definitions.

Unfortunately, in some organizations, management gives scope for 'process bureaucrats'. These guys insist on following the process documents blindly without any concern for the process improvement. In some organizations that achieved CMMI Level 4 and 5, many employees suddenly become unhappy and they feel that the process is being given importance and not the people. Judy Bamberger says, "CMM is one of the most misunderstood pieces of technical literature in existence" [Bamberger 1997]. A culture needs to be developed

whereby the engineers and managers get the 'essence' of CMM rather than a blind following of the process standards.

Large organizations working on large projects can afford to implement the CMMI or ISO 9000 standards though it results in lot of overheads. Certainly, many small organizations cannot afford nor do they want to obtain certification due to lack of resources. Even then, these organizations will be benefited by adapting these standards and if required suitably modifying them.

The project manager has to realize the importance of the quality standards and impress upon the team members the importance of following these standards. Standards implementation should be a culture rather than an add-on to the development.

Implementing Quality Standards in Small Organizations

The quality standards such as CMMI and ISO 9000 have been formulated to bring in process orientation for large-scale projects, executed by large organizations. The CMM framework, in particular, has been developed to assess the capabilities of subcontractors for large defense projects. To implement these quality standards, there will be lot of overhead. Additional people are required for the process engineering group, SQA group etc. Lot of documentation is involved for developing and maintaining organization-wide processes, and lot of administrative work is involved in maintaining the library for process documentation, configuration management etc. Most of the small organizations cannot afford this overhead as it eats away the profit margin. Small organizations working on small development projects, can avoid this overhead if they follow a customized software engineering methodology. In small organizations, everyone does everything—even senior level persons may be involved in coding. Small organizations work on high technology products and hence innovation and creativity are the key elements. Following standards with a bureaucratic approach hinders the creativity. Hence, small organizations need to tailor the quality standards for their specific needs [Computer 1999].

For working on small projects having a high technology orientation, the constitution of the project team is crucial. To reduce overheads, the project team will not be linked to a separate quality team or process team. The development team members themselves need to act as quality engineers and process engineers.

To summarize, quality standards provide the necessary framework for delivering quality software. Every organization, big or small, needs to understand the essence of these quality standards and follow them. Commitment of the management and also each and every employee to the quality of the product is a must.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd Protection Status

Testing Tools Topics