ソフトウェア開発プロジェクトにおいてプロジェクトマネージャーや関係者が直面するお悩みは、リソース制約の中でのスケジュールプレッシャーや様々な要件変更要求への対応を余儀なくされるなど、多岐にわたります。どのように課題に対処していくのがよいのでしょうか。プロジェクト品質マネジメントのポイントを解説します。
プロジェクト品質マネジメントの失敗とは?
プロジェクト品質マネジメントの勘所を探る前に、過去に発生した障害の事例を紐解いてみましょう。記憶に新しい障害事例もあります。何か、教訓や成功のためのヒントはないでしょうか。
プロジェクト品質マネジメントの失敗事例
- 全国銀行データ通信システム(全銀システム)の障害(2023年)により大手金融機関など10金融機関で約250万件の送金が滞る障害が発生。
機器更新により処理量が増え、メモリ不足に陥った。事前のテスト不足の可能性もある。 - 「COCOA」接触情報の通知されないバグ(2021年)
陽性の登録者と15分以上の接触があった場合に利用者に通知するシステム。陽性者と接触したにも関わらず通知されない不具合が発覚。
原因は、2020年9月に実施したバージョンアップの影響。 - 銀行のATM障害(2021年)
大規模なシステム統合プロジェクトにおいて、ATMの障害発生。取引が一時できなくなる状況が発生。2021年に8回以上の障害が発生。
システム統合とテストの不備に起因。
いずれも、大規模なプロジェクトにおける障害です。利用者数が大きく、資産や人命にかかわる障害のため影響範囲も大きいものでした。未然に防止するためには、プロジェクト品質マネジメントのうちの何が不足していたのでしょうか?
品質管理・テスト管理の考え方のコツを取得!
プロジェクト品質向上編
プロジェクト品質マネジメントとは?
プロジェクト品質マネジメントとは、プロジェクトの成果物やプロセスが所定の品質基準を満たすように管理するプロセスのことです。ソフトウェア開発におけるプロジェクト品質マネジメントの最初のステップは、品質計画の策定です。
ソフトウェア開発におけるプロジェクト品質マネジメントの流れ
- 品質計画の策定
プロジェクトの品質計画を策定します。この計画は、プロジェクトのゴール(品質目標、品質基準、品質管理プロセス、テスト戦略など)を定義します。 - 品質基準の設定
品質計画に基づいて、プロジェクトで達成するべき品質基準を設定します。品質基準は、成果物やプロセスをどのように評価するかを定義したものです。 - 品質保証
品質保証は、プロジェクトが品質目標を達成するためのプロセスと活動を含みます。プロジェクトの品質マネジメントプロセスが適切に実行されて、品質基準に沿っていることを確認します。つまり、「満たすべき要求事項が満たされている」という事実を証明するための一連の活動が品質保証です。 - 品質管理
品質管理は、品質を直接的に向上させる活動です。プロジェクトの進行中に品質を監視し、問題を特定し、改善策を実施するプロセスです。例えば、品質チェックリストの作成、テスト、品質監査、問題の追跡と修正などが含まれます。 - 品質テスト
品質マネジメントには、システムやソフトウェアのテストが不可欠です。ユーザーテスト、結合テスト、パフォーマンステスト、セキュリティテストなど、さまざまなテスト活動が品質確保に役立ちます。 - フィードバックと改善
プロジェクトの品質に関するフィードバックを収集し、問題を特定したら改善策を導入します。過去のプロジェクトからの教訓やベストプラクティスを活用して次のプロジェクトの品質をより向上させていきます。 - 品質報告
プロジェクト品質に関する情報(プロジェクトの品質状況と進捗、教訓など)を適切なステークホルダーに報告します。
ソフトウェア開発プロジェクトにおける品質マネジメントに取組むことで、品質計画やリスク管理など時間とリソースもそれなりに必要になります。「ちょっと大変だなぁ」と思われたでしょうか?しかし、市場に製品やサービスがリリースされた後で障害発生したときの影響はどのようなものがあるでしょうか。
- 利便性の低下
- 顧客満足度の低下
- 口コミの影響
- 競争力の喪失
- 顧客の離脱
製品やサービスの障害発生による影響を最小限に抑えるためにも、適切な品質マネジメントを行うことで品質向上やリスク削減が狙えるでしょう。ソフトウェア開発プロジェクトにおける品質マネジメントとその実行をサポートし、プロセスの改善と品質を確保するには監査の活用も有効です。
テストの専門家が体系化した3つのメニューから構成された
ソフトウェアテストの教育サービス
ソフトウェア品質教育サービス「バルカレ」のご紹介
ソフトウェア開発におけるプロジェクト品質マネジメントの監査に関連する規格
ソフトウェア開発プロジェクトにおけるプロジェクト品質マネジメントの監査に関連する規格がありますので、いくつかご紹介します。
プロジェクト品質マネジメントの監査に関連する規格
- ISO 9001: ISO 9001
品質マネジメントシステムに関する国際標準です。ソフトウェア開発プロジェクトにおいて、ISO 9001の要件を遵守することにより、品質マネジメントの基準が確立されます。この規格は、プロセスの改善、品質目標の設定、顧客満足度の向上などを促進します。 - ISO/IEC 12207: ISO/IEC 12207
ソフトウェアライフサイクルプロセスに関する国際標準です。この規格は、ソフトウェア開発プロセス全体を包括的にカバーし、品質マネジメントに関連するプロセスや要件を提供します。 - ISO/IEC 15504 (SPICE)
ソフトウェアプロセスの評価と改善に関する国際標準であるISO/IEC 15504は、ソフトウェア開発プロセスの品質と成熟度を評価するための枠組みを提供します。これにより、プロジェクトの品質マネジメントを向上させるためのガイダンスが提供されています。 - CMMI (Capability Maturity Model Integration): CMMI
ソフトウェア開発プロセスの成熟度を評価し、向上させるためのモデルです。CMMIはプロセスの改善に焦点を当て、品質マネジメントに関連するベストプラクティスを提供しようとするものです。 - ITIL (Information Technology Infrastructure Library): ITIL
ITサービスマネジメントに関するベストプラクティスのセットで、品質マネジメントとサービス品質向上に関連するガイダンスを提供します。特にソフトウェアの運用および保守において役立つことがあります。
これらの規格は、プロジェクトに適切な規格を選択し、実装することで、品質マネジメントを強化し、プロジェクトの品質向上に貢献する可能性があります。プロジェクト品質マネジメントと品質監査は、いずれも品質向上とリスク削減に対するメリットがありますが、追加のコストや時間が必要になります。プロジェクトへの要求やリスクに応じて、適切な対応を行うことが大切です。
まとめ
冒頭で紹介した障害発生事例では、要因として「テストが不足していた」というものがありました。要因はそれだけではないと思いますが、「品質テスト」は顧客に商品やサービスが提供される前の、最後の砦として重要な位置付けにあります。
プロジェクトにおいてどのようなリスクがあるかは、個々のプロジェクトによって異なりますが、そのプロジェクトに応じた品質計画、そして、その計画に応じた品質テストが必要になります。
弊社は、テストの専門会社として多くのプロジェクトへの参画を通じてお客様の開発プロジェクトのご支援を行っております。ソフトウェア開発プロジェクトにおける品質改善について、ぜひご相談ください。
当サイトでは、テスト技法を学びたい方、アジャイル開発やマイグレーションのテスト手法について知りたい方、テストアウトソーシングサービスに興味のある方へ、ダウンロード資料を多数ご用意しております。ぜひダウンロードいただき、資料をご活用ください。