Project Quality Management
By Siraj Qureshi
The main objective of any software project is to deliver a product that meets or exceeds the client’s expectations. Quality Management complements Project Management. Good Project management ensures that all the best quality tools and techniques are applied throughout the project. Many people tend to have perception that quality management is time consuming and tedious: It requires a lot of documentation, has to be constantly reviewed and monitored, and can be very costly. My experience says that if you don’t apply quality management for your project efficiently, you will have to deal with the consequences of a delayed project. The project may also be scrapped if its quality is compromised or the product does not meet customer’s needs or expectations. I witnessed many projects where the project team put a lot of extra efforts to meet the project deadline while overlooking the quality of the project. This will lead to re-work on the project, unfound errors, and attirtion. Ignore quality management at your peril!
Project Quality Management consists of processes which include all the activities that determine quality policies, objectives and responsibilities so that project will satisfy the needs and requirements for which it was undertaken.
Project Quality Management include the following:
Identifying which standards, quality processes that are relevant to the project so that project will satisfy it needs.
Perform Quality Assurance:
Applying the planned, systematic quality activities to ensure that the project employs all processes needed to meet requirements.
Perform Quality Control:
Monitoring specific project results to determine whether they comply with relevant quality standards and identifying ways to eliminate the causes of unsatisfactory performance.
Quality Planning: Tools and techniques
It is always recommended that Quality planning should be discussed with the project team in the project kick off meeting. Project Management should guide the team regarding the objective and benefits of the quality management and the project team should be exposed to the roadmap achieving the quality objectives in the project.
Objective of the quality for the project could be as follows:
- Deliver the product which meet or exceed the client’s expectation.
- Deliver the product on schedule.
- No critical bug should be found in Release product version.
Once the objective of the quality for the project has been defined, the next task is to plan the roadmap to achieve the objectives of the quality of the project.
Quality Planning should include:
- Best practices learned:It is always advisable to share the defects, preventive actions, best practices learned in the projects of similar nature. It will help the team to prevent the defects in the beginning itself.
- Rules, Standards and Guidelines:
There is a saying that prevention is better than cure. Same logic apply here. The cost of preventing mistake is generally much less than the cost of correcting it. Rules, Standards and guideline help us prevent the defects in and early stage of project life cycle.
For example, if programmers apply coding standards to their code, you may be able to prevent many defects which can be caused by inefficient programming like code not commented and indented, code that is not easily readable and/or not modular, database connections that are not closed in the end etc. So always remember, bugs should be nipped in the bud as soon as possible.
Reviewing the code and documentation are best practices to prevent defect in later stages of the project life cycle. Reviews can be categorized into Self-Review, Peer review and Peer-to-Peer review:
- Self-Review:This is the software review process in which the programmer reviews his/her code and documents and fixes the defects in the excel worksheet. It is just to ensure that your code/documentation is compliant with standards, rules and guidelines as decided by the Project Manager.
- Peer to Peer review:
Peer to Peer review is the software review process in which your code or documentation is reviewed against standards and guidelines by a colleague who may be working on same project. S/he will share his/her finding with you and you have to fix it. You may review his code too if planned.
- Peer reviews:In Peer reviews, many of your colleagues review your code, one observes your code, one records your defects, one moderates the code. Then you have to fix the defects identified by the team. The Project Manager decides whether s/he wants to have Peer review for the project.
- Classification of defects:
Classification and analysis of defects is very essential for defect prevention. Ideally, defects should be identified into different categories like critical defect, functional defect, cosmetic defects. All the defects should be reported in an excel sheet or a special defect tracking tool.
- Assign And Scheduling Quality Assurance :
An SQA ( Software Quality Analyst ) should be allocated to the project. S/he plays an important role in checking, verifying the day to day activities of the project and ensuinge that project is in good health
- Identifying Defect Prevention Representative (DPR)
DPR does the analysis for all the defects found in test cycles and comes out with some reports. Usually s/he draws some histogram and gives presentation(s) to the team for his/her analysis for all the defects. The idea behind this activity is defect prevention and learning.
Perform Quality Assurance:
A person who has a task of performing Quality assurance for the project is called SQA ( Software Quality Assurance). S/he checks and verifies all day to day activities and processes of the project. SQA ensures that the project team is compliant with the quality related activities and processes decided for the project. If s/he has some concerns for the project s/he should share this with the Project Manager and create some action plan to fix the issues.
The project team works on this action plan (or action items). The SQA verifies the fixed action items and closes them. S/he also gives his/her suggestions/feedback if new processes are need for the project or the project needs to deviate from (the now) irrelevant quality processes. For example, some project may not require to do peer review at all because its size is small.
Perform Quality Control:
Performing quality control involves monitoring specific project results to determine whether they comply with relevant quality standards and identifying ways to eliminate the causes of unsatisfactory results. It should be performed throughout the project.
The Project Manager should have a working knowledge of statistical quality control. A quality control department often performs quality control. The project team creates the project matrix which gives the measurement of the processes followed in the project. Basically, metrics is based on the some formula, which can vary from one project to the other.
For example the formula to get the percentage of review effectiveness = 100 * number of defects found in review/number of all defects found. Now suppose if you could find 8 defects in a review and the total number of defects is 10. Then you will achieve 80% of review effectiveness, which is very good. Metrics also help you determine schedule variance, effort variance, cost of quality, and failure cost of the project.
Siraj is a Senior Consultant working with a reputable in the US. He has managed several IT projects for CMM level 5 organizations. Also, he is an MCP and has expertise in .Net technologies and he has around 12 years of software management and development experience. He is passionate about learning new and emerging technologies. His main interests are SDLC, .Net Framework, ASP.NET, AJAX, WCP, WPF, Web development, Application designing, Code generation, Performance tuning etc. Siraj runs a blog:
If you have any suggestion or you want to share something, please drop in your comments or you can reach him at firstname.lastname@example.org. Your suggestions will be appreciated.