The cost of managing quality in software projects through the project phases versus the cost of correcting defects later.

Generally the further along the software development lifecycle the project is, the higher the cost of correcting the defects

Metatrans Quality Audit

A recent project assurance engagement that I performed, highlighted some key learnings around quality requirements for project delivery of software development.

Quality is becoming more crucial for software delivery projects, customers want to have the assurance that the end product is consistently going to meet their requirements. Quality, simplistically, means that a product should consistently meet its specification. Processes, methodologies and frameworks are essentially quality guideline tools and control mechanisms which tries to achieve the quality objective.

Many businesses now have quality objectives, often documented in their mission statement.  Quality is generally divided into four elements:

  1. Quality Assurance (error prevention),
  2. Quality control (error detection),
  3. Quality planning and
  4. Quality improvement.

QUALITY ASSURANCE (error prevention)

Quality assurance is about taking pro-active measures to establish confidence that quality requirements will be met. It involves systematic measurement, comparison with a standard, monitoring of processes and an associated feedback loop that confers error prevention.

The following aspects are important:

  • A quality measure that indicates the ability to meet and/ or exceed the requirements and expectations of the customers;
  • A target is a quantified objective to be attained at a future date;
  • Assessment of performance requires that evidence be collected to support the measure, performance reporting refers to actual versus target measures.

(Interestingly many testing teams are known as the quality assurance team, however testing is not about error prevention, error prevention is made up by the processes and actions taken prior to testing, Testing falls under the banner of quality control.)

When performing a quality assurance engagement exercise, the objective is to check the likelihood of the project being successful based on the processes that have been defined and the adherence thereto

SEO web design

QUALITY PLANNING

The purpose of quality planning is to establish a clear definition of quality and how this quality would be measured. It identifies which quality standards or best practices are relevant and determine how to satisfy them. It also specifies the operational process and resources that will be needed to achieve the quality objectives.

Planning also involves establishing what needs to go through quality checks. For example, what is the most appropriate way to check quality and by when it should be done. Furthermore, appropriate metrics must be identified as proof that the best practice or standard is indeed followed.

The project quality plan is often lacking, if it is in place it often is not really used as a way to ensure a quality deliverable. It often becomes a tick box exercise, with no real insight or quality assurance.

The cost of building in quality through the project phases needs to be evaluated against the cost of correcting defects, the further along the software development lifecycle the project is, the higher the cost of correcting the defects.

The capabilities of the people, technology and processes must also be considered when planning for quality. Inexperience, lack of skills, ineffective processes, limited or lack of the right tools may also cause the quality to be compromised.

QUALITY CONTROL (checking)

Quality control is reactive; It aims to check that the  quality of the products or artefacts produced during the process are in line with expectations. It requires a systematic approach to setting up quality events or quality gates to verify the quality of artefacts.

The following provides an outline of the steps for quality control:

  • Identify the quality artefacts (e.g. Business case, Project plan, etc.) that are produced during the process;
  • Identify the quality material (checklists, templates, etc.) that provide confidence that quality will be met;
  • Identify the quality event and what would be the criteria for acceptance (e.g. formal review, sign-off, etc.);
  • Determine what the quality criteria (e.g. peer reviews, testing, and simulations) would be for each of the artefacts produced.
www online

Software testing has become a big business profession; companies are spending more and more on internal testing teams or outsourcing the testing function. It is becoming quite acceptable for testing teams to take as long, if not longer, to test the solution as it took to develop the solution.

Errors found during testing should be eliminated as far as possible by evaluating the processes  which came before (architecture, analysis, design and development) for improvement opportunities and for each process owner to be held more accountable.

www online

QUALITY IMPROVEMENT

Quality improvement is the set of continuous actions that lead to measureable improvement in the delivery of IT services, projects and solutions. It refers to having a systematic approach to collecting and reviewing data or information in order to identify opportunities to improve the operations with the end result of delivering better services to customers.

The process involves identifying the improvements, implementing action plans for the identified improvements evaluating the effect of improvements; and going back to identify more improvements.

Internet Security

For more information on our quality assurance or audit services, click here!

Contact Us
Contact Us
By |2017-11-06T14:31:27+00:00October 7th, 2015|
Optimization WordPress Plugins & Solutions by W3 EDGE