Similar to our code reviews, we strive for our design reviews to be:
- Design options should be referred to as Option A, B, etc., rather than "your approach", "Alice's proposal", etc.
- Time spent on making decisions should be proportional to their impact. Impact can be measured by the estimated effort to revert a decision. Time spent can be measured by how long a decision is in progress, i.e., from when a design question has been formalized, until a decision has been made. Decisions should be categorized as:
Small: 1 day to revert, worth 1 hour to decide.
Medium: 1 week to revert, worth 1 day to decide.
Large: 1 month to revert, worth 1 week to decide.
- It should be stated clearly upfront who is Responsible, Accountable, Consulted, and Informed in the decision making process.
- Design discussions should require the minimum number of people, the people that have a direct stake in the outcome.
- Regardless of what role someone offers input as, any contribution should be appreciated.
- We should look for evidence contrary to the opinions we hold. We should look out for SEEDS of bias towards Similarity, Expedience, Experience, Distance, and Safety.
- Design options should be compared by listing out pros and cons for each.
- Design discussions should take place in a meeting with all relevant parties and an agenda. The agenda should include the design options to be discussed, their pros, and cons.
- Decisions should be recorded, along with the rationale behind them, in a way that is comprehensible to people not present when a decision was made.
- Regardless of any opinions held prior to a decision being made, everyone needs to support the final decision as if it were their own, to help the team succeed. Decisions should only be reopened if substantial new information arises.
- Don't forget to have fun.