Our previous post concerning a code review implemented by our company caused a particular interest of the IT community, so we decided to write an extra article on this theme. Today we'll consider this practice implementation in terms of a specific example.
Let's consider code review implementation as exemplified by a project and project team structure. There are two groups in the team: one consists of two developers and a lead, and the other – of three developers and a lead. The developers will be marked as D (Developer) and the leads as L (Lead).
Let's define the group members.
Group 1: D_1_1, D_1_2, D_1_3, L_1.
Group 2: D_2_1, D_2_2, L_2.
We assign reviewers to the project trunk.
trunk/module_1 — group 1 is responsible.
trunk/module_2 — group 2 is responsible.
trunk/common — common responsibility of both groups, a lead appoints particular reviewers from his or her own group members.
A developer writes a code affecting both groups' modules
1. Developer D_1_2 solves a task and at the same time writes a code affecting the following paths: trunk/module_1/dev_1_1, trunk/module_2/dev_2_3.
2. D_1_2 creates a review and adds the following participants.
3. Lead L_2 appoints developer D_2_3 as a reviewer.
4. The final table of the review participants looks as follows.
A developer writes a code to a common module
2. D_1_2 creates a review and adds the following participants.
3. Lead L_1 appoints oneself as a reviewer.
4. Lead L_2 appoints developer D_2_1 as a reviewer.
5. The final table of the review participants looks as follows.
It is important to realize that launching a code review within a small group comprising 6-7 developers is one thing, and scaling a huge project developed by dozens of specialists is absolutely another thing. Huge projects have many more hidden rocks, which are just not seen in smaller-scale projects — do not forget about it.
The next article (as we promised in the previous topic) will be dedicated to review automation using CodeCollaborator.
Bye for now!
This comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete