A review is a formal assessment or examination of something with the possibility or intention of instituting change if necessary.
A software review is a process or meeting during which a software product is examined by a project personnel, managers, users, customers, user representatives, or other interested parties for comment or approval.
In software development, peer review is a type of software review in which a work product (document, code, or other) is examined by its author and one or more colleagues, in order to evaluate its technical content and quality.
The objective of software review is:
- To improve the productivity of the development team.
- To make the testing process time and cost effective.
- To make the final software with fewer defects.
- To eliminate the inadequacies.
Roles and activities
The project reviewer role requires many years of business (including contract formulation and negotiation), technical, and software project management experience, and the individual who fills this role is chosen because of demonstrated decision-making ability at the operational management level. The project reviewer must have an excellent understanding of risk management principles and must be skilled at estimation in an environment with incomplete or fuzzy information.
The project reviewer role is responsible for evaluating project planning artifacts and project assessment artifacts at major review points in the project’s lifecycle.
Inside the project reviewer role there are usually other roles to perform formal reviews. Here are they on a table where you can see the role definition.
These are significant review events because they mark points at which the project may be cancelled if planning is inadequate or if progress is unacceptably poor. Here are the events recommended for a software project.
How to review the key work products: plans, requirements, design, and code
First of all, all projects are not reviewed identically. Reviews may focus different quality assurance aspects for different work products. These are divided in 4 main groups.
- Functioal aspects: focuses on required functionality provided by the work product. It also checks missing functionalities or improvements that can be done to the existing functionalities.
- Technical aspects: focuses on work product engineering that may involve reviewing of design, construction, testing and implementation aspects.
- Management aspects: focus on management side of the work product, such as planning, resourcing and controlling costs, productivity, profitability and customer service.
- Quality standard aspects: focus on enforcing compliance with quality management systems such as applying standards, following guidelines, identifying, analysing and rectifying defects.
Checklists are useful
Formal reviews require each of the groups mentioned above to be reviewed, so checklists plays a very important role to help reviewers to focus attention, ask relevant questions and collect information about items included in the checklist.
Use checklist to organize on things that you already checked and to make notes about things you found interesting during the review process.