Case Study Implementing Code Inspection



Since our previous topic describing the process of implementing code inspections in our company aroused some interest among the habrasociety, we decided to write an extraordinary continuation. Today we will consider an example of the implementation of this practice on a specific project.

Consider the implementation of code inspections on the example of the project and the structure of the project team. The team includes two groups: in one of them two developers and a leader, in the other - three developers and a leader. Developers will be denoted by the letter D (Developer), and group leaders by the letter L (Lead).

Define the composition of the groups.
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 inspectors to the project tree.



trunk / module_1 - group 1 answers.
trunk / module_2 - group 2 answers.
trunk / common - the common responsibility of both groups, specific inspectors are appointed by the leader from among the members of his own group.

The developer writes code that affects the modules of both groups



1. The developer D_1_2 solves a problem and in the process of solving writes code that affects the following paths: trunk / module_1 / dev_1_1, trunk / module_2 / dev_2_3.

2. D_1_2 creates an inspection and adds the following members.



3. The manager L_2 appoints the inspector of the developer D_2_3.

4. The final table of the inspection participants looks like this.



The developer writes code to the general module




1. Developer D_1_2 solves a problem and in the process of solving it writes code in trunk / common.
2. D_1_2 creates an inspection and adds the following members.



3. Supervisor L_1 appoints himself an inspector.
4. The manager L_2 appoints the inspector of the developer D_2_1.
5. The summary table of the inspection participants looks like this.



Of course, starting the process of code inspection within a small group of 6-7 developers is one thing, and scaling up a process for a large project, which is being worked on by dozens of developers, is a much more difficult task, but still feasible.

The following article (as we promised in the first topic ) will be dedicated to the inspection automation process using CodeCollaborator.
See you soon!