Problem: Code reviews center mostly on issues of design, rather than the code itself.
Forces:
- Code reviews are being done to ensure correctness.
- The reviewers cannot review for correctness because they do not understand or agree with the design.
- Modifying the design means throwing away a lot of the work put in by the developer.
Resolution:
- Perform Design reviews before any code is written.
- Involve code reviewers to get input/buy in on design
Comments:
The design reviews may not have the same level of formality as
FormalReviewProcess. This encourages
EarlyAndOften reviews.
CampFire may be appropriate for the early stages.
--
FriedrichKnauss
In order that the review will reflect
ProjectSpecific details rather than
ReviewerPreferences, it is a
GoodThing to have an established basis of design with which the reviewer can make comparisons and which can serve as a controllingAuthority. One of the ways this can be done is by Formalization of the Design via designSpecifications: