コラムカテゴリー:内部統制
はじめに
ITシステムの稼働には、不具合やユーザーの満足度などの評価など品質を問われる場面が多く存在します。もちろん欠陥のないシステムを作成することは困難ですが、品質の水準を設けて活用することで、不具合やユーザーの不満を減らすといった改善や、ユーザー要求を叶えてシステムの強化を図ることは可能です。
ITシステムの品質
ITシステムの品質とは、ステークホルダーの要望を満たしているかどうかの度合いです。そのため、品質を評価する項目が必要になります。さまざまな観点があると思いますが、標準化を目的として作成された国際規格を参考に評価項目を決めることで、観点の抜け漏れを防いだり、客観性を担保することができます。品質の評価項目は国際規格のISO/IEC 25010で品質モデルとして定義されています。品質モデルはシステムの機能や性能、セキュリティ等について9つの品質特性とその品質特性をさらに細分化した品質副特性で構成されます。
ISO/IEC 25010:2023 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model より作成
※ここではISO/IEC 25010の詳細は省略します。ISO/IEC 25010を日本語翻訳したJIS X 25010は日本産業標準調査会(https://www.jisc.go.jp/index.html)で閲覧可能です。ただし、無料のアカウント登録が必要となります。
評価項目の活用
評価項目の活用には以下2つのポイントを意識する必要があります。
- 判定方法と判定水準
項目ごとにどのように判定し、どのラインを超えると水準を満たしたと言えるかを明確にします。例えば、効率性に関するものであれば、システムのレスポンス時間を計測し、3秒以内を目標水準とするといった具合で設定をします。このとき、一項目ごとに設定するのではなく、全体のバランスを考え設定することが重要です。一項目ごとの設定ですと、堅牢なシステムを意識しすぎて、ユーザビリティを損なうといったことが発生してしまう可能性があります。
- 活用工程
一部の工程だけで利用するのではなく、要件定義から運用までのすべての工程で取り入れることが重要です。要件定義や基本設計などの仕様検討から取り入れることでどのような品質であるべきかを検討漏れを減らせますし、品質特性をもとにテストのシナリオを作成することで、テストの漏れも減らすことに繋がります。また、運用でのシステム評価により、品質改善に役立てることができます。このようにすべての工程で対応することで、品質向上のサイクルを回すことができるのです。
実際にどのように活用できるか、具体例を紹介します。
とある化粧品メーカーにてシステムBの開発案件では、以前システムAの開発でリリース後に不具合が多かったため、今回のシステムBでは不具合を減らしたいとの意向がありました。システムAの不具合にどのようなものがあったかを分析したところ、そもそも仕様決めの段階で検討できていない観点があることが原因でした。例えば、システムAから別システムへAPIによるデータ連携をしていたのですが、エラー発生時にどうするか(リトライするなど)という可用性について検討・実装ができておりませんでした。そのため、システムBのプロジェクトでは以下の対応を行い、不具合件数を減らすことができました。
品質のガイドライン作成
化粧品メーカーのプロパー社員も開発ベンダも品質を意識できていなかったため、要件定義の前にどんな品質項目を意識しなければいけないか認識合わせを実施することにいたしました。ISO/IEC 25010の品質モデルを提示・説明したうえで、この項目は不要・品質モデルにない項目が必要などを議論し、その会社に合った品質項目を洗い出し、それをまとめたガイドラインを作成しました。このガイドラインをもとに、次で説明するチェックシートを作成することで、品質項目の検討漏れを防ぐことができました。
品質のチェックシート作成
チェックシートは要件定義のフェーズで、要件ごとに品質項目で仕様化すべきことがないかを確認するために作成しました。また、仕様化すべき品質項目について、判定方法と判定水準を明記しておくことで、テストシナリオ作成時に抜け漏れがないかをチェックできるようにしています。
以下にチェックシートの例を掲載しております。この例では、評価項目を2つに絞っていますが、ガイドラインで決めた評価項目ごとに仕様化が必要か否か、必要な場合はどんな仕様とするかを記載するようにしています。また、テストの判定方法と判定水準を具体的にチェックシートに記載しておきます。
どちらも今回の開発だけでなく、システムBの改修や別システムの開発でも流用できることを意識したので、まずは品質改善を継続できる標準的な取組を行うことをおすすめします。
おわりに
「ソフトウェアの品質特性」のような体系的に整理された項目を活用することで、網羅的に検討ができるので考慮漏れを防ぐことができます。ただ、品質だけに囚われるのではなく、コストや納期との兼ね合いも考え、その時点で目指すべき品質を検討いただければと思います。
関連コラム
2024年10月28日 (月)
青山システムコンサルティング株式会社