ソフトウェア品質管理とは

ソフトウェア品質管理とそのポイントについて説明します。

ソフトウェア品質管理

ソフトウェア品質管理とは、何でしょうか。

ソフトウェア品質管理(Quality Management)とは

ソフトウェア品質管理(Quality Management)とは 「要求を満たすソフトウェア製品・サービスを提供するために、組織を指揮し、管理すること」


※これは、ISO9000の定義に基づきます。正確にはISO9000:の定義は以下です。
品質管理(Quality Management)とは「品質※1に関するマネジメント※2
※1品質とは「対象に本来備わっている特性の集まりが,要求事項を満たす程度」。なお、要求事項には、「明示されている、通常、暗黙のうちに了解されている若しくは義務として要求されている、ニーズまたは期待」が含まれる
※2マネジメントとは「組織を指揮し,管理するための調整された活動」
(ISO9000:2015)

ソフトウェア品質管理の必要性 

なぜ、ソフトウェア品質管理が必要なのでしょうか? 

企業が存続するには、顧客に支持されるソフトウェア製品・サービスを提供し続ける必要があります。提供したソフトウェア製品・サービスに満足するから、顧客はその対価を払い、企業は次のソフトウェア製品・サービスを創出することができます。この満足していただけるような品質の良いソフトウェア製品・サービスを提供するためのマネジメントが、品質管理なのです。ある意味では、品質管理は、企業存続の要といえるでしょう。

ソフトウェア品質管理のポイント

では、ソフトウェア品質管理のポイントは何でしょうか。

プロセス品質とプロダクト品質

ソフトウェア品質を的確に把握するには、プロセス品質とプロダクト品質の両面から分析することが不可欠といわれています[1]。下記の図は、ウォーターフォールモデル開発でのプロセス品質とプロダクト品質の評価について解説したものです。ウォーターフォールモデル開発では、設計→コーディング→テストと順を追って工程を進めていきます。その各工程で、プロセス品質は、プロセス実施状況の十分性により評価します。プロダクト品質は、各工程の成果物の出来ばえにより評価します。重要なのは、プロセス品質とプロダクト品質の両面から評価するということです。

プロセス品質とプロダクト品質
ウォーターフォールモデル開発のプロセス品質とプロダクト品質の評価

要因系と結果系

プロセス品質とプロダクト品質は、要因系と結果系という表現で説明することもあります。結果系のほうが説明しやすいので、結果系から説明しますね。

結果系

結果系とは、結果として出来上がった成果物を検査して、基準を満足しないものは次の工程に進ませないという意味です。これが出荷審査であれば、変なものは外には出さないということになります。結果系の方法で、確実に基準を満足したものだけを、顧客へ提供できるようになります。これがプロダクト品質です。

要因系

一方、要因系とは、始めから良いものを作り出すプロセスを構築して、そのプロセスを適用することにより、良い製品やサービスを効率よく作る方法です。だから、プロセスをきちんと実行しているかどうかを見ることが重要になるのです。これがプロセス品質です。

結果系と要因件の両面から評価

繰り返しますが、重要なのは、結果系と要因系のどちらか一方ではなく、両面から取り組むことによって、品質の良いソフトウェア製品・サービスを生み出すことができるという点です。悪いものを外に出さない結果系だけでは、不良品が積みあがる恐れがあります。プロセス適用だけでは、低い確率であっても作ってしまった不良品を見逃して、外に出してしまう恐れがあるわけです。

最後に

いかがでしょうか。ソフトウェア品質管理、プロセス品質とプロダクト品質、要因系と結果系についてご理解いただけましたか。

参考文献[1] SQuBOK策定部会、ソフトウェア品質知識体系ガイド第2版 –SQuBOK V2-、2014年、オーム社

3 Comments

  1. […] するため、組織によって違いがあります。しかし、必ずプロセス品質とプロダクト品質の両方を確認できるようにチェック項目を設定することが、 […]

  2. […] 上図は、上から下に時間軸が流れています。品質会計は、バグ目標管理技法とバグ予測・見直し技法の大きく2つの技法群から構成されています。上図に示すように、品質会計は、計画から出荷までのウォーターフォールモデル全体を網羅しています(ポイント①)。品質会計の各技法が関連しているので、品質会計を適用すれば、計画から出荷まで一気通貫の品質管理が実現します。 […]

  3. […]  配属された頃は、ソフトウェア開発方法さえ手探りの段階で、マネジメント方法もないような時代でした。でもそれが幸いし、私はウォーターフォールモデル開発の品質保証方法の構築に、ほぼ最初から関わることができました。それが、「ソフトウェア品質会計」と呼ぶ品質管理手法です。そして、品質保証部の業務は、開発部門が開発したソフトウェアのバグ出しのお手伝いから、プロセス品質とプロダクト品質の両面よりソフトウェア品質を評価して保証する立場へと変わっていきました。私自身は、この時代に、ソフトウェア開発の計測とデータ分析、オフショア開発、CMMIレベル5、組織的改善といったキーワードの仕事を経験しました。デスマーチプロジェクトもありましたし、海外多拠点の開発で苦労したこともありました。 […]

Comments are closed.