Weekly standing meetings are the “disco beat” (1) of review cycles. For projects that march forward at a well defined interval (2) regular meetings are the correct way to go. But what about for the more common project with irregular updates?
The ideas behind Agile Development (3) seem like the perfect counterpoint to the “set” review cycle, a syncopated rhythm. The short daily stand ups and sprint wrap ups seem like the way to review when you need to review. However, in practice, people come to the stand up meetings less prepared than they should be for a formal review.
Event triggered reviews
One approach is to move to “event triggered” reviews. The event is tied to one of 3 things
- Completion of one or more requirements: This is a logical review point as the completion of requirements should be verified as part of the validation process.
- Update to requirements: When requirements change, a review of the model should be performed to determine the impact of the change. If they exist at this point in time, the associated test cases should be updated.
- External trigger: This is generally when a “real world” bug is discovered; you are reviewing because there is a need for a major change
Model size: absolute and % change
A change in the model size alone is not a valid trigger for a model review, if I have added in 1,000 new blocks but the functionality is the same, there is nothing new to review. At the same time, developers should use the change in model size as a caution. If you have added in 100 blocks and the functionality has not changed then most likely you are working in an unfocused fashion.(4)
When tests fail, and if the developer cannot get to the root cause, it is a clear sign that a design review is in order. For these reviews the full test failure diagnostic logs should be part of the review, both pre-and post failures. If possible, the deltas in the model and model data should be presented as well.
As a final note, not all reviews need or should be formal. Informal reviews are helpful for those “I’m just stuck here” moments in the development process that everyone faces. More often than not, the simple process of talking through what you are doing will help you resolve the issue.
- The “four to the floor” disco rhythm is easy to dance to but lacks the complexity of other drumming styles.
- There are projects with this sort of well defined interval; they tend to be instances of the same work being repeated.
- There are few animals more agile then a ring-tailed lemur.
- The exception would be in the case of a model architecture reorganization. In general this should reduce the number of blocks but there are instances where the model size could grow.