Blog Moved

Future posts related to technology are directly published to LinkedIn
https://www.linkedin.com/today/author/prasadchitta

Friday, October 8, 2010

Review of "Quality Reviews"

Review means a "critical inspection" of a product or a process by someone who was not involved in the creation or regular operation of it.

Review is considered to be one of the important methods of Quality Assurance (QA) of software systems.

Review in software product / development:
Now, let us take a "review" of the review process in software product.

1. A software deliverable is architected as per the business requirement. The software architecture is reviewed by a reviewer to assure that architecture meets the functional and non-functional (scalability/performance/interoperability etc.,) requirements of the business.

2. Software deliverable-s are designed as per the architecture. The design is reviewed by a reviewer again to assure the design meets the architecture.

3. The design is implemented into software program-s (code) and the code is reviewed with reference to the design.

4. Each unit of code is also tested by the developer or an independent tester to make sure code has met the design specifications!

5. All the different units of software are integrated to realize the overall architecture of the software product. The integrated product is tested for functional and non-functional requirements.

6. The product is released to the customer.

So, review is preventive measure of quality assurance that helps in avoiding injection of bugs where as testing is a reactive method of finding and fixing the bugs after the bugs are injected into the product.

Why software still have bugs?

In my opinion, the primary cause is lack of "self-review" of the work products delivered by the individuals. Each individual should be encouraged to develop a culture of reviewing the work-product (let it be the architecture, a design, a unit of code, a test spec, or anything else) before it goes out into the software development process chain. Once the organization is successful in this mechanism, the quality will automatically improve and the cost of QA will considerably reduce.

Note: QA managers need not worry... They still have their jobs safe!! Guess WHY?


Review in process outsourcing:
Looking from a different perspective of BPO or ITO scenarios, the quality of a process where development of a "deliverable unit" costs nearly same as the review of that unit, the review adds a 100% overhead and not a solution for the quality assurance. The philosophy should be driving the workforce to "Do it right first time"
within the execution of the process.

But, a Business Process Review and transformation to:
a. Identify possible scope of improvement
b. Evaluate the impact of change
c. implementing the proposed transformation in a smooth manner

will help the process to be more efficient with an improved productivity and customer satisfaction.

Conclusion:
a better process --> a better quality product.

Hence one should "review" the process first to improve the process efficiency and then focus on "review" of individual products produced by the process for a better quality.

Software development is also a process! Increased focus on a review of a wrong thing will not result in the improved quality.

No comments: