システムの品質管理方法とは

組織として構築する以上、ソフトウェア開発にも工場のような品質管理の観点が求められます。工業用品や製品などでは、製造された製品を間引きし、品質管理のための検品を行い、出荷可能であると承認されるプロセスが発生しますが、それ以前にISOのような品質マネジメントを工場生産時から行うような取り組みが行われるのが通例です。品質管理はプロセス管理といってもよく、工程の中のどこでミスが起こったのか、そして再発を防止するためにはどうすればいいのかということをしっかりと管理していく考え方です。

多くの工程を経て完成するソフトウェアやシステム開発にも同様のことが言えます。ISOの観点から全ての工程を管理することで、質の高い開発が実践でき、それはそのままミスやエラーによる工程の遅れを防止することにもなります。開発における工程の遅延はその後の工程に影響し、最終的にはそのシステムを発注した顧客に影響します。顧客に影響するということは、開発会社としてビジネス的な信用を失うということでもあります。

品質をマネジメントするためには、その開発の工程を細かく分析していくことが必要です。どこで誰が、何をしているのかということを細かく分解して考えることで、潜在されたエラー発生のリスクを回避することが必要になります。品質管理とはミスやエラーが発生してから考えるものではなく、あらかじめミスが起こらないようにすることでもあります。例えば難易度の高い工程に新人だけアサインされていないかどうかなど、フローが進行する前に確認することが大切です。

また、開発工程の一部を外部に委託する場合も同様です。品質マネジメントで問われるのは責任の所在ではなく、事前にクオリティの高い開発が行えることになります。外部に委託した部分のエラーは外注の責任というわけではなく、自社内のワークフローと同様に細分化して考えることが必要です。そもそもの部分に立ち返ると、外部に委託しても良い工程なのかどうかということもしっかりと考える必要があります。

システムやソフトウェアでは最終的なバグフィックスを行うものですが、大規模なものや複雑なものに関しては細分化したモジュール単位での確認が必要になるケースもあります。開発が進行してからでは取り返しがつかなくなってしまうこともありますので、設計段階からどのようにして品質を向上させるのかということを考慮にいれておくことが大切です。