近年は、システム開発における品質管理に注力する企業が増えています。背景にあるのは、アジャイル開発などシステム開発の手法が多様化したこと、顧客満足度にこだわる開発会社が増えたこと、システムエンジニアの働き方改革や自社の利益率改善を推進しようとする動きが顕著になったことなどが挙げられます。
そんななかで、システム開発で重要なワードの「品質管理」と「品質保証」。2つの概念は、何が違うのでしょうか。今回は、それぞれの目的と重視ポイントの違いについて解説します。
まずは、それぞれの意味合いについて確認しておきましょう。品質管理(Quality Control=QC)は、Quality Managementと呼ばれることもあり、システム開発のプロセス全体を確認し、要求仕様に対して適切な設計、工程で開発が行われたかをチェックします。
目的は主として、開発企業側が高品質のサービスを継続的に再現するため。いわゆるQCD(Quality=品質、Cost=費用、Delivery=納期)のバランスが取れているか、開発工程に見直すべきところはないかなどを分析し、改善ポイントを明確にしていきます。
これに対して品質保証(Quality Assurance)は、顧客が求めるシステムを実現できているかどうかを検証し、不具合があれば修正を図って顧客の満足と信頼を得る活動全般を指します。単体テスト、結合テスト、システムテスト、受け入れテストなど各種テストに加え、システムのパフォーマンスとセキュリティのチェック、顧客目線での使いやすさの確認も含まれます。
品質管理が開発のプロセス全体をマネジメントするのに対して、品質保証は納品物のクオリティにフォーカスして行われます。「開発工程の品質管理」「顧客に対する品質保証」と言葉を分けると、両者の趣旨の違いはよりわかりやすくなるのではないでしょうか。
品質管理と品質保証は関連しており、品質保証のプロセスと結果も品質管理において重要なチェックポイントのひとつです。品質管理を成功させるために必要なのは、管理の基準と実現すべきレベルの明確化、管理・確認・分析の方法の標準化、フェーズごとの進捗管理です。
ありがちなのは、「それぞれ顧客が要求する内容やレベル、重要ポイントが違う」という理由で、品質管理の方法自体が属人化したり、可視化しにくくなったりすることです。「ウォーターフォール開発とアジャイル開発で管理の仕方が変わる」といった場合でも、共通のチェックポイントと独自の指標がわかるようにしたうえで、QCDとプロセス評価を見える化するなどの管理が必要です。
品質管理・品質保証ともに、それぞれに精通した専門人材のアサインと、関連部署の連携や情報共有は必須となります。品質管理が課題となっている企業や、これまで実施していなかった組織の担当者の方は、今回紹介したポイントを押さえてサービスの品質向上を推進しましょう。
(関連)ソルクシーズの「品質管理」についてはこちらをご覧ください → 「ソルクシーズの品質管理体制 」