Technical reviews can be applied to requirements, design, and code.
Objective
- To find errors (coding, logical, implementation).
- To ensure that the software meets standards.
- Can be provided by client, government, or the company you work for.
- Can be related to security, privacy, legal, etc.
- For system uniformity.
- To keep everyone on the same page.
- To ensure coherency throughout a project.
- To make the project more manageable.
- Incorporates management into the fold.
- Provides an opportunity for management to provide insight.
- Training.
- Gives an opportunity to get new hires up to speed.
- Allows new hires to get experience.
- Increases the number of people who know whats going on in the system.
Forms of Reviews
- A walkthrough: Structured and led by whoever created the technical review, typically in a meeting, and typically managed.
- Rules:
- Every review should only have 3-4 people in it.
- Everyone should be prepared prior to the meeting, having reviewed it independently beforehand.
- Meetings should be relatively short to keep everyone’s attention.
- You will likely need to break up a technical review and focus on aspects of it.
Initiating a Review
- Should include a meeting chair, the reviewers, and the author.
- It is important that a record is kept of the meeting.
- Whomever designed the system discusses their design, and the reviewers provide input (like a conversation).
- At the end of the review, a committee decides if the submission passes, passes with minor changes, or is rejected and needs major changes.
Guidelines
- The review process needs to be constructive, egoless, and objective.
- Review the product, not the producer.
- Set an agenda.
- Limit debate and rebuttal.
- Don’t waste time trying to resolve extremely complex issues too early— if theres no quick resolution, move on.
Sample Driven Reviews
- In a massively large or complex system, there may be parts that need to be focused on.
- Areas that have given you the most trouble in the past.
- The more important parts of the system.
- In this situation, it is important to review is strategically.