Quality Control Assurance & Cost In Project Management
Software Quality Assurance is an activity that is applied at each stage of software development life cycle. It encompasses the procedures for assuring compliances to standards and measurement and also reporting mechanisms. It involves everyone in the software engineering process.
It is important and adherence to it results in lower cost, the amount of rework required and improved time of delivery. Before it is initiated it has to be defined at different levels. A set of SQA activities have to be defined which reflects the SQA strategy of software teams. This can be documented as the Software Quality Assurance Plan.
SQA on a larger scale encompasses a quality management approach, effective technology (methods and tools), technical reviews, testing strategy and control of software development procedures, change management, configuration management and release management.
In the words of Pressman, Software Quality is defined as ‘Conformance to explicitly stated functional and performance requirements, explicitly documented developments standards and implicit characteristics that are expected of all professionally developed software’.
As an attribute of an item, the term Quality refers to measurable characteristics. For example the measures of a program characteristic may include number of function points, lines of code or complexity. Quality of design refers to the characteristic that software team demands for requirements, specification and design of the system. Quality of conformance is the degree to which design specifications are followed during implementation. If the implementation follows design and the resultant system meets end users requirements, expectation and also provides them substantial benefit, then conformance to quality is high.
Quality Assurance is the process of providing management with data related to information about the quality of product so that management is kept aware of the quality goals being met and if necessary can address any issues.
The cost of quality is the cost involved in the performance of quality related activities that go toward ensuring the quality of product. It can be divided into costs associated with prevention, appraisal and failure. Prevention costs is the costs related to pro active measures, the costs associated with quality planning , conduction of technical reviews, testing equipment and training to promote awareness.
Appraisal costs involve costs incurred towards activities that help gain insight towards the condition of product like in-process and inter process inspections, auditing and testing. Failure costs are that cost, that are involved with detection of defects either before or after the product has gone live.
Software requirements form the basis of which quality is measured. Specified standards like defining a set of development criteria to guide the manner in which development process is followed, helps establish quality in development cycle.
The SQA plan developed by the SQA team serves as a template for SQA activities to be followed for each software project. Implicit requirements like ease of use and maintainability enhances the quality of software.
The ISO 9001 is a quality assurance standard that applies to software engineering. For software organizations to become registered to ISO 9001 the policies and procedures to address the requirements for ISO 9001 must be established and consistently followed.
The CMMI (Capability Maturity Model Integration) model is also widely used to implement Quality Assurance in an organization. The CMMI maturity levels consist of five steps. A company can be apprised on par with any of the five levels, based on the activities and processes followed. It is basically a framework used for appraising the process maturity. If was developed by experts and the Software Engineering Institute (SEI) at Carnegie Mellon University.
A sound quality management process in place is a good investment. It ensures confidence in the suitability of the product and contributes to customer satisfaction and helps an organization to use resources effectively. Hence Quality Assurance is one activity in Project Management that should not be compromised.
| Useful Cost and Effort Estimation Tips and Techniques for Software Projects | Overview on the Responsibility Assignment Matrix (RACI) | Overview on Virtual Project Management | Popular Project Managing Artifacts and The Tools used in Project Management | Project Risk Management – Identifying Risks and Assessment Process | Project Scheduling and Tracking – Basic Concepts | Quality Concepts – Overview on Quality Control Assurance and Cost in Project Management | Requirement Analysis - Concepts and Principles in Project Management |