Saturday 1 March 2008

Static Techniques : Reviews process

Review Process


> Reviews vary from very informal to very formal. (i.e well structured and regulated)
> The formality of a review process is related to such factors as:
*** The maturity of the development process
*** Any legal or regulatory requirements
*** The need for an audit trail
> The way a review is carred out depends on the agreed objective of the review.


If the formal development processis not followed, then it may be difficult to introduce a formal review process; work products may not be consistently produced from project to project, therefore we cannot always state that, for example, 'reviews will be carried out on functional specification'.
Some reviews are more formal than others; if reviews have not been carried in an organization before, it may not be sensible to introduce the most formal reviw type, which are inspections.
There may be legal or regulatory requirements that consider certain types of reviews to be carried out on certain work products. For rxample, standards relating to safety-critical software may deem it mandatory to carry out code inspections.

different reviews can have different objectives, forexample:
> To find defects
> To gain understanding
> To dicuss and reach decisions by consensus.

Phases of a formal review


A formal review consists of the following activities:
> Planning
> Kick-off meetings
> Individual checking/study (preparation)
> Inspection logging/review meetings
> Re-work/follow up
> Matrics/sign-off

> Planning :
*** Select personnel
*** Allocate roles
*** Define the entry an dexit criteria(for more formal review types)
*** Select which parts of the document to review

> Kick-off :
*** Distribute documents
*** Explain objectives, process and documents
*** Check entry criteia (for more formal reviews types)


It is extremely important that time is taken to plan the review activitites thoroughly - who is going to be involved, when the review meeting is going to take place, that everythign required to carryout the review (source documents, reference documents, for example) is available, and that participants are allocated sufficient time to carry out the activities assigned to them.

A kickoff meeting is likely to take place to ensure that everybosy is involved in the review process understands what his/her specific roles amd responsibilities are.
Different roles can be assigned to perticipants in order to give the review process more focus-instead of everybody checking for everything, they look at certain aspects of the review item, for example, ensure that everybosy contained in the review item corectly reflects what is in the source document.

> Individual Preparaton :
*** Work dine by each participant on their own prior to the review meeting.
*** Potential defects should be noted
*** A proposed grading is given (according to agreed standards)-this will be re-evaluated at the review meeting
*** Questions and comments noted.


Once roles and responsibilities have been assigned, individual preparation can then commence.
Roles can be allocated to individuals where they check that the review items against company standards, or check that the document cna be used as a source for the next activities - this could be preparing an acceptance test plan from the user requirements documents, or creating test cases from the same document.

> Review Meeting :
*** Discussions and/or logging
*** Documents results or minutes(for more formal review types)
*** Parcipants may simply note handling the defects, or
*** Make recommendations for handling the defects, or
*** Make decisions about the defects.


The review meeting needs to be managed, time-boxed and organized. The person leading the review must make sure that there is not too much time spent on one topic to the detriment of others and that the meeting is not dominated by a few people - everyone must be given an opportunity to speak.
The person leading the review must also ensure that the meeting does not become unruly(lots of people talking at the same time about different things)and that the focus kept on the review item.
At the meeting someone should be given responsibility for taking the minutes of the meeting and documenting any remedial actions and any follow-up activities(further meetings, formal sign-off).

> Rework :
*** Fixing the defects found
*** Normally performed by the author

> Follow-up :
*** Checking the defects have been addressed
*** Gather metrics
*** Check on exit criteria(for more formal review types)


A report of the review meeting should be produced and distributed.
It is the author`s responsibility to carry out any changes required of the review item.
It is all participants responsibility to suggest any process improvements- to the review activity itself and the structure of the review item(could ti be made better in anyway?).