Definition of Software Review
A software review is a systematic inspection of software performed by one or more individuals who work together to check the software, its requirement and try to find and solve possible errors during the earlier stage of the software development life cycle. Review plays an important part in SDLC, which helps the software engineers validate the functionality and quality of the software and the reliability and other supporting areas of software. In other words, we can also say that software review is a process of validating the software requirements, design, functionality, test cases, and test plan. Software reviews vary from informal to formal reviews.
- Formal Review: Formal review is a review characterized by documented procedures and requirements. It is related to factors such as the maturity of the development process, legal or regulatory requirements, or the need for an audit trail.
- Informal Review: Informal review is a review that is not based on a documented procedure, i.e. formal procedure. This can be applied at various times during the early stage of development.
Phases of Formal Review
There are 6 phases in A formal review which are as follows
- Planning: In the planning phase, the plan for the specific software review is made, which includes various factors like review criteria, role allocation, entry and exit criteria, etc.
- Kick-Off: In the kick-off phase, a short introduction to the review objectives and documents are given to the reviewers. Objectives and process which needs to carry out are explained to the participants.
- Preparation: In the preparation phase, preparation is done for the review meeting by reviewing the documents, noting defects/faults, etc.
- Review Meeting: In the review meeting phase, the discussion takes place by noting various documents, results, defects, and solutions for those. various activities are discussed like examination, evaluation, results.
- Rework: In the rework phase, the team tries to fix the defect/faults by reworking on them and keeping the defects’ updated results.
- Follow-Up: In the follow-up phase, the moderator examines various exit criteria and metrics to ensure that correct action has been taken on all defects, process improvement suggestions, and exchange requests.
Types of Software Review
There are various types of software review are as follows:
A walkthrough is a step-by-step presentation presented by the author of a document to gather information and establish a common understanding of its content. The author of the document conducts the meeting. To validate the content, various scenarios have been used.
The goal of walkthrough review
- To present the document to stakeholders both within and outside the software discipline in order to gather information regarding the topic covered by the document.
- Establish a common understanding of the document.
- Examine and discuss the validity of the solution and other alternatives for backup.
- Explain and evaluate the document’s content.
2. Technical Review
A technical review is a process where a meeting is held to discuss the document’s technical content and its achieving consensus. As compared to the inspection review, technical reviews are less formal. Its main focus is on the technical concept and its achievement. In technical review, a separate preparation is carried out to examine the product or software and to found the defects. It is led by technical expertise or a moderator.
The goal of Technical review
- To establish consistency in the technical concepts
- To ensure that the technical concepts are correct at the earlier stage of development
- To access the technical concepts value and its alternatives
3. Inspection Review
Inspection review is a type of formal review that relies on the document’s visual examination to find the defects. It is the most formal review technique, therefore, always based on a documented procedure. In inspection review, documents are prepared and checked throughout by the moderator before the meeting; documents are reviewed by comparing it to work with its sources and other reference documents and using rules and checklist. In a meeting, defects that are found are logged, and any discussion is postponed until the discussion phase. This process makes meeting a very efficient meeting.
The goal of inspection review
- To remove faults or defects as soon as possible.
- To create a common understanding by exchanging information among participants.
- To help the author to improve the quality of the document.
- To improve the quality of the product.
- Find the defects and learn them so that we can improve the process in order to prevent the recurrence of similar types of defects.
Success Factors for Software Review
Below is the list of critical success factors that can improve the chances of success while implementing reviews.
- Find a champion
- Pick things that really count
- Train participants
- Pick the right techniques
- Explicitly plan and track review activities
- Manage people issues
- Continuously improve process and tools
- Use testers
- Follow the rules but keep it simple
- report results
- Just do it!
This is a guide to Software Review. Here we also discuss the definition and phases of formal review and types that include a walkthrough, technical review, and inspection review. You may also have a look at the following articles to learn more –
- Software Reliability
- Software Maintenance Types
- Software Cost Estimation
- Software Configuration Management Tools