Understanding Software Technical Reviews-STRs
A review process can be defined as a critical evaluation of an object. It includes techniques such as walkthroughs, inspections and audits. Most of these approaches involve a group meeting to assess a work product.
Software technical reviews can be used to examine all the products of the software evolution process. In particular, they are especially applicable and necessary for those products not yet in machine-processable form, such as requirements or specifications written in natural language.
What is the rationale behind STRs?
A) Error Prone Software Development and Maintenance Process:
The complexity and error-prone nature of developing and maintaining software should be demonstrated with statistics depicting error frequencies for intermediate software
products. These statistics must also convey the message that errors occur throughout the development process and that the later these errors are detected, the higher the cost for their repair.
B) Inability to Test all Software:
It is not possible to test all software. Clearly exhaustive testing of code is impractical. Current technology also does not exist for testing a specification or high level design. The idea of testing a software test plan is also bewildering. Testing also does not address quality issues or adherence to standards which are possible with review processes.
C) Reviews are a form of Testing:
The degree of formalism, scheduling and generally positive attitude afforded to testing must exist for software technical reviews if qualify products are to be produced.
D) Reviews are a Way of Tracking a Project:
Through identification of deliverables with well defined entry and exit criteria and successful review of these deliverables, progress on a project can be followed and managed more easily [Fagan]. In essence, review processes provide milestones with teeth. This tracking is very beneficial for both project management and customers.
E) Reviews Provide Feedback:
The instructor should discuss and provide examples about the value of review processes for providing feedback about software and its development process.
F) Educational Aspects of Reviews:
It includes benefits like a better understanding of the software by the review participants that can be obtained by reading the documentation as well as the opportunity of acquiring additional technical skills by observing the work of others.
What are the various types of STRs:
A variety of STRs are possible on a project depending upon the developmental model followed, the type of software product being produced and the standards which must be adhered to. The developmental modes may be
1) Waterfall model
2) Rapid prototyping
3) Iterative enhancement
4) Maintenance activity modeling.
What are the present standards for STR�s?
1) Military standards
2) IEEE standards
3) NBS standards
We generally have two types of reviews like
1) Informal reviews &
2) Formal reviews.
Main differences among Informal reviews & Formal reviews are:
|It is a type of review that typically occurs spontaneously among peers.
|It is a planned meeting.
|Reviewers have no responsibility.
|Reviewers are held accountable for their participation in the review.
|No review reports are generated.
|Review reports containing action items is generated and acted upon.
An expert on R&D, Online Training and Publishing. He is M.Tech. (Honours) and is a part of the STG team since inception.