技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

バグ対応コスト~なるべく早く品質を作り込むことの重要性~

SEとして持っておくべき考え方として、「品質はなるべく早い段階で作り込む」というものがあります。
急がば回れということわざがあるように、品質を気にせずやみくもに先に進めるという判断をしてしまうと、目先の進捗はあがるものの、後で作業の戻りが発生したり、リリース後に障害が見つかり対応に時間も費用も費やされたりしてしまいます。
 
後になってバグが見つかると、その対応に多くのコストがかかるためにそうなります。
これは、個人の経験則ではなく、統計的な研究結果として示されています。
例えば、以下の論文で示されています。
 
「コストモデル」を使った開発品質・生産性向上の取組み ~バグ対応コストの見える化と最適化~

https://www.ipa.go.jp/files/000049404.pdf

 
ウォーターフォールモデルで上流工程での品質作り込みが推奨されたり、アジャイル開発で(ソースコードを書いた直後にバグに気付く目的で)ペアプログラミングやテスト自動化が推奨されたりするのはこのためです。
特に決まったプロセスモデルがない非定型的なプロジェクトであったとしても、この考え方に基づいて判断することが重要になります。