| name | team-debug |
| description | test失敗、build失敗、予期しない挙動、状態不整合、修正後の再発が起きたときに、修正前の再現、証拠収集、仮説の判別、原因に対応するtestを行うために使う。 |
team-debug
原則
修正案を選ぶ前に、再現条件と原因を特定する。
調査
- error、log、stack traceを省略せず読む。
- 再現command、入力、環境、関連する差分を特定する。
- 最近の変更と、同じ仕組みで動いている例を確認する。
- 複数componentが関わる場合は、境界ごとの入力、出力、設定、状態を確認する。
- 事実と仮定を分け、考えられる原因を列挙する。
- 原因を判別できる観測または実験を選ぶ。
- 確認した原因に対応するregression testまたは検証を追加する。
- 同じ原因から影響を受ける経路を含めて修正する。
修正が同じ症状を繰り返す場合は、局所的な変更を重ねず、taskの前提、architecture、ownership、要件を再確認する。
報告
- 再現commandと結果。
- errorまたはlogの要点。
- 確認した原因と証拠。
- 変更した場所と理由。
- 再発を検出するtestまたは検証。