On today´s topic, we are going to talk about Software Review and we are going to talk about:
- Definition and characteristics
- Activities and roles
- Reviewing key work products (plans, requirements, design and code)
Definition and characteristics
Software Review is a part of the Software Development Life Cycle (for more info about Life Cycles you can take a dive on my post Life Cycles. Software is alive!) and just like some other tools that I´ve mentioned before on this section, Software Review assists software engineers in validating the quality, but also the functionality and other vital features and components of software. This process involves completely testing the software product to ensure that it meets the requirements stated by the client.
Some distictive characteristics of Software Review are the following:
- Improve the productivity of the development team
- Efficiency regarding time and costs
- Helps to reach the initial definition of the product software listed on the requirements.
- Eliminates inadequacies (code or stuff not related as a requirement)
Activities and roles
Some of the activities and roles that are involved in software review are the following:
- Entry Evaluation: Written up as a check-list which is used by certain entry criteria in order to ensure an ideal condition for a successful review.
- Management Preparation: There´s a responsible management that ensures that the software review will have all the required resources such as time, equipment, developers, staff, tools, etc.
- Review Planning: Objective is identified and based on it, a respectively team of resources will be created.
- Preparation: The reviewers are held responsible for the preparation examining the reviewing task.
- Examination: Results made by each reviewer are combined together.
- Exit Evaluation: Before finalizing the review, verification of all activities is done to be considered necessary for an efficient and “good” (accomplishing client´s requirements) final product software.
At the end, the workflow should be something like this:
Reviewing key work products
Now we move on to the different existing types of Software Review, the most known are as follows:
Software Peer Review:
Mainly focuses on the process of assessing the technical content and quality of the product, conducted by the author of the work product along with other related developers.
Software Management Review:
Evaluates the work status. Decisions regarding downstream activities are taken.
Software Audit Review:
External review in which, one or more critics, NOT part of the development team, organize an independent inspection of the software product and its processes to assess their compliance with stated specifications and standards.