はじめに
ソフトウェア開発において品質に関する議論を始めると、必ず話題になるのがこの問いです。
どんな評価基準で、どこまで満たせばよいのか?
品質を担保するうえで必ずあがるこの問いに、明確な答えを出すにはさまざまな要素を加味して検討する必要があります。
- ビジネス戦略との整合性
- 製品のコンセプト
- 利用者の特性
- 実際の利用シーン
- 競合との差別化ポイント
- ステークホルダーからの期待
- 開発体制や技術的制約
など、検討事項が多岐にわたるため手間と時間がかかるのが現実です。
結果として定義されないまま、あいまいな状態になってしまっている開発現場も少なくありません。
そこで今回は、最初の第一歩として評価基準を導き出す方法を紹介します。
何を評価基準とするか
ここでの「評価基準」は「製品やサービスを評価する観点」を指します。
この観点は品質保証では「品質特性」という言葉へ置き換えることができます。
品質特性とは、「品質を捉えやすいように細分化した観点」のことで、品質特性と品質副特性から構成されており、国際規格ISO/IEC25010(通称SQuaRE)で「品質モデル」として体系化されています。
この品質特性は多数あるため、必ずしもすべてを満たす必要はありません。
適切な根拠をもって選定(取捨選択)することが重要となります。
評価基準となる品質特性を選定する
先述の通り、品質特性の選定においては適切に根拠づけすることが重要となります。
この根拠づけとして、おすすめしたいのが会社のVision、Mission、Value を根拠とする方法です。
会社が掲げるVisionやValueには、「社会に対してどんな価値を届けるか」「どのような姿勢で仕事を進めるか」が言語化されています。
これは、製品に求められる品質の方向性とも強く関係しています。
たとえば、以下のようなケースです
例、Visionから導き出す品質特性
- Vision:だれもが安心して使えるサービスを提供する
- 関連する品質特性:信頼性、セキュリティ
例、Missionから導き出す品質特性
- Mission:現場での業務効率を最大化する
- 関連する品質特性:ユーザビリティや性能効率性
例、Valueから導き出す品質特性
- Value:変化に柔軟に対応し、挑戦し続ける
- 関連する品質特性:保守性や拡張性
このように、企業として大切にしている価値から逆算することで、「私たちがまず守るべき品質は何か?」という評価基準を短時間かつ納得感のある形で選定できます。
あくまで「最初の一歩」として
もちろん、これはあくまで第一歩です。
今後は、より製品・サービス固有の要素(ユーザーやユースケース、競合、市場動向、技術的背景など)をふまえて、評価基準をより良くしていく必要があります。
この記事が、品質保証活動の第一歩を踏み出せる一助になれば幸いです。