Successful implementation of IT (information technology) projects is a critical strategic and competitive necessity for firms in all industrial sectors today. However, due to cost overruns, schedule delays, unfilled requirements and poor quality, it is reported that less than 30% of IT projects are perceived to be successful. Much has been written about causes of project failure and many have provided best practices and critical success factors for effective management projects, yet projects still continue to fail. As a first step to overcome systemic causes of project failure we propose a unified definition of software quality assurance (SQA). We use this definition to develop and present an approach to SQA that focuses on controlling risks and provide a framework for assuring the development and project management life cycles.
Reasons For Project Management Failures
The statistics on project management success are dismal and probably not surprising to most IT professionals. When a project fails it can jeopardize an organization’s reputation with its customers and its name in the marketplace (Charette, 2005). In addition, project failures can be costly to organizations in terms of wasted dollars and resources. The bottom line is that projects continue to fail for many reasons.
It is generally accepted that software project failures predominantly occur due to cost or schedule overruns and quality control problems. Table 1 summarizes the most common reasons for project failure documented from published literature.
Key Terms in this Chapter
SQA Planning: Defining the goals and objectives of the software quality assurance plan which includes specifying any quality processes or procedures to be followed.
SQA Closing: Completing all the assurance process which includes making sure the necessary project closing activities have been completed.
Development Assurance: Assure that the development team is following the stated development process and coding standards.
Implementation Assurance: Providing assurance that the necessary implementation steps have been completed prior to and after implementation.
Design Assurance: Executing the appropriate controls to assure design has been completed according to stated policies and standards as well as assuring the necessary outputs have been completed.
Software Quality Assurance: A well defined, repeatable process that is integrated with the project management and the software development lifecycles to review internal control mechanisms and assure adherence to software standards and procedures. The objective of the process is to assure conformance to requirements, reduce risk, assess internal controls and improve quality while conforming to the stated schedule and budget constraints.
SQA Initiation: The launching of SQA activities after a project has been authorized.
Testing Assurance: Providing assurance that adequate testing has been completed and defects have been tracked and recorded.
Requirements Assurance: Providing assurance that requirements are testable and complete.