品質

開発効率と品質の関係について

当社はお客様システムの安定に向け、品質を始めとする各種のご支援を主務としている。例えば、お客様の状況やシステムの特性を分析し、今後発生しうるリスクを予測することで、リスク回避に向けた最適な品質施策等のご提案・実行支援を務めさせて頂いている。

実際のお客様の現場にてよくお聞きするのは「多くの品質施策を採用することで、開発効率が悪化するのではないか?」とのご相談。今回はこの点について考えていきたい。例えば、開発期間が3カ月のシステムの場合、開発遅延に繋がる場合には、以下の様なプロセスをたどる。

開発遅延に繋がるケース

①企画・設計:1カ月
②実装:1カ月
③個別のテスト:0.5カ月
④システム全体でのテスト:0.5カ月
システム全体でのテストで発生した問題の原因分析:0.5カ月
企画・設計起因であれば、該当部の①~④をやり直す:1カ月

たとえば、このプロセスの④で企画・設計に起因する問題が多発した場合、プロセスに⑤⑥を追加することになる。結果、開発期間は、当初予定の3カ月に加え、品質強化分として+1.5カ月を余分に所要することになり、サービスイン遅延や重大な機会損失などを引き起こす可能性がある。

一方、上記と同様のシステム開発を、システムの特性等を分析した上で、リスクを事前に予測し、必要な品質施策等をプロセスに含めて開発を行った場合には、以下の様なプロセスとなる。

リスクを予測し事前に対策をプロセス化したケース

リスク事前分析と品質対策検討:0.5カ月
リスクを加味した企画・設計:1カ月+0.1ヶ月
リスクを加味した実装:1カ月+0.1ヶ月
④個別のテスト:0.5カ月
⑤システム全体でのテスト:0.5カ月

上記品質施策により、⑤で大きなトラブルの発生を抑止できたとすると、開発期間は、当初予定(3カ月)に加え、品質施策分(+0.7カ月)の追加で済んだ事になる。また、あらかじめ品質施策分の工数を加味したスケジュールとすることが可能であれば、遅延リスクの最小化が可能となる。

こうした成功体験は、システム開発の経験が豊富な開発者であれば、一度は経験したり、実感したりしているのではないか。しかし、システム開発を開始する段階で、「工数がかかるプロセスにする」という選択をするには、多くのエビデンスと説得が必要であることも事実。ここがシステム開発者の腕の見せ所である。

システム開発の開始段階で、進め方に悩んでいる場合などは、ぜひ当社にご相談頂ければ私としてはこの上ない幸せである。

WokandapixによるPixabayからの画像