私の経験では、この二つは段階によって重みづけを変えるべきだと感じています。
初期段階では機能要件を重視すべきだと考えます。以前、チーム内で設計の完璧さに拘泥しすぎて、実装がどんどん後ろ倒しになったプロジェクトを見ました。その時は「要件定義が曖昧なまま綺麗な設計をしても意味がない」という指摘があり、ハッとした記憶があります。要件がブレていると、どんなに美しい設計も無駄になる可能性が高いということですね。
ただし、ある程度のスケールに達するとバランスが変わります。私が参加したプロジェクトでは、要件は満たしていても設計が甘いために、後々の拡張や保守で大きな負債が溜まってしまいました。その時点で「早期段階で設計にもっと時間を割くべきだった」という反省がありました。
ですから現在は、要件の明確性を確認しつつ、設計のレビューではコードの読みやすさや将来の変更への耐性も同時に見るようにしています。どちらか一方に極端に振るのではなく、プロジェクトの規模や段階に応じて柔軟に対応することが実務的なのだと実感しています。
著作権は著者に帰属します
いいね 0・コメント 0・保存 0
この観点から問いを立てる
コメント