デフォルトはリファクタリングです。書き直しが正当化されるのは、既存システムが許容可能なコストでは要件を満たすように進化できなくなり、かつ書き直しの間も価値を届け続けられる場合のみです。「書き直しが必要だ」という直感のほとんどは、実のところ管理されていないtech debtの問題であり、はるかに小さいリスクで段階的なリファクタリングが解決します。
| シグナル | リファクタリング寄り | 書き直し寄り |
|---|---|---|
| アーキテクチャが要件に合う | はい | いいえ |
| テスト/仕様のカバレッジ | 低いか高い | 同等性を検証できるほど十分 |
| 段階的に出荷できる | はい | 難しい、ビッグバン |
| チームがコードを理解している | はい | いいえ、かつ元の作者も去った |
リファクタリング対書き直しの判断は、Tech Leadが下す最もレバレッジの高い意思決定の一つです。書き直しの方向に間違えれば、1年デリバリーを凍結してもなお失敗しかねません。リファクタリングの方向に間違えれば、velocityをゆっくり失血させます。これを好みの問題ではなくコストとリスクの意思決定として位置づけることが、シニアの判断を好みから分けるものです。
ジュニアからシニアまで、詳細な回答付きのIT面接質問ライブラリ。
寄付する