Friday, May 16, 2008

A code or design reviewer's responsibility

As part of development process, we assign code and design reviewers into the projects. We want to ensure that the review can help improving the overall quality.

However, sometime I feel people misunderstand the review with the approval authority and mix the review with their interests or the awareness of the projects.

A code reviewer and design reviewer holds a similar responsibility as the code and design writer. Once the reviewer finishes the review, and express the reviewers' inputs. The reviewer provides their contribution.



The reviewers should have deliverables. It is part of the job of the code or design review to provide the inputs and feedback to the completed draft design or code. The input should be a written format if possible.

Their deliverables should have a deadline, just like any other task. A code review and a design review, just like the design and coding themselves, takes time and efforts. A code review and a design review should be considered as a task placed into the development schedule and on the resource plan to reduce the resource's availability.

We need to understand that once we put a developer into review. We are expecting the developer to produce an output from the review. We also assume that the developer may not be able to continue full time in coding and thus the review work need to prioritize among the other tasks, if there is a schedule conflict.

Do we put more authority to a developer on the design or coding when we assign them as reviewers? Does a reviewer of the design or code have a higher "power" over the result of the design? In my opinion, it does not have to be. A reviewer provides a 2nd eye on the work and contribute to the process. Whether a review has the authority will depend on whether the reviewer is also an "approver".

A project has a owner or a sponsor who is the holding the authority but may not be the project manager. I think that a design document or a program also have such as "owner", who are typically the developer manager who are responsibility for the delivery from his or her department. The approver or the person who has the authority need to make sure that he or his team can produce the design and code with quality. The reviewer should be seen as the helper to help the manager to reach the goal.

The owner should proactively think "who can help me success?", "who can help us review so we won't make mistake?", "who has the skills and knowledge that can supplement my team's work?". Assigning the proper reviewers into the design and coding becomes a tool for the owner and is the responsibility of the owner.

No comments: