【Column】ソフトウェア品質はなぜ重要なのか?<連載>

2021年12月3日

 本コラムではソフトウェアの品質についてわかりやすく重要性を説明するために、業界の著名人に執筆を依頼しております。ソフトウェア開発の中でも重要度は高くとも知る機会が少ない「ソフトウェア品質」を身近な事例をもとに著名人が解説いたします。ソフトウェア業界の職務に従事するすべての皆様にわかりやすくお伝えしますので、是非ともご一読ください。

第2弾:DX時代に求められるソフトウェアの価値と品質および国際標準

鷲崎 弘宜 氏
早稲田大学グローバルソフトウェアエンジニアリング研究所長/国立情報学研究所客員教授/システム情報 取締役/エクスモーション 取締役/IEEE Computer Society副会長/ISO/IEC/JTC1 SC7/WG20コンビーナ

1. DXとソフトウェア品質

 データとデジタルによるビジネスモデル変革を通じた新たな価値創出を目的とするデジタルトランスフォーメーション(DX)が求められる中、その持続的な実現に向けてますますソフトウェア品質の重要性が増しています。

価値とは、直接には顧客における満足やビジネス価値であり、その創出にあたり大きな役割を担うソフトウェア製品の期待通りの振る舞いや使いやすさもまた価値を構成します。さらに「ソフトウェア品質」の定義を紐解けば、本来は使用時の必要性に関わる性質です。つまり利用者の満足度合いは、ソフトウェア品質にほかならず、ソフトウェアの品質は価値と直結していることがわかります。

本稿では、こうしたDX時代に必要な価値やソフトウェア品質について、関連研究や標準を参照しながら、重要性やつくり込みおよび評価のあり方を解説します。

2. ソフトウェアの価値と品質

 ソフトウェアにおける価値について、古くはBoehmにおけるソフトウェア関連の意思決定に関する主として経済価値を扱う価値ベース・ソフトウェアエンジニアリング(Value-Based Software Engineering)[1]に始まり、さまざまな研究や実践があります。

Rodríguezらによる最近の事例調査によれば、ソフトウェアに実装するフィーチャ(Feature: 振る舞いや機能、その実現上の仕組み)の検討にあたり事例によらず開発側の立場で共通に以下を考慮する傾向にあります [2]。

l 顧客価値: 顧客満足度、エンドユーザ満足度、市場満足度、顧客数、主要顧客満足度
l 市場競争力: プロダクト競争力、市場投入までの時間、製品品質、製品パフォーマンス、UX・製品簡潔さ
l 技術・アーキテクチャ: 実装上の複雑さ、製品アーキテクチャ、開発能力
l 経済価値・収益性: ROI(投資利益率)、売上規模、顧客・市場シェア
l 費用対効果: 開発コスト、再利用性、サードパーティ製品利用コスト
l 企業戦略: 企業戦略、製品戦略、企業ポートフォリオ、ビジネスイネーブラー、企業ブランド

こうしてみると、ソフトウェアの価値にはさまざまな側面があり、その多くはソフトウェア品質に直結していることが分かります。「技術・アーキテクチャ」は開発者目線の品質であり、その向上や満足を通じて「市場競争力」配下の製品品質やパフォーマンスといった利用者目線の品質を達成します。それにより「顧客価値」配下の満足の目標達成を目指すわけです。またそれらを進めるうえでの開発側における「費用対効果」や、結果としての「経済価値・収益性」、さらには中長期の「企業戦略」もまた価値を構成します。

Weinbergの「品質は誰かにとっての価値である」[3][4]との言葉にもあるように、ソフトウェア品質はソフトウェアの価値を構成し直結するものであり、それはまた立場によってもさまざまに異なることとなります。

3. 国際標準に見るソフトウェア品質: 利用時、製品、データ

 ソフトウェアの価値に直結するソフトウェアの品質の特徴について詳しくは、国際標準ISO/IEC 25000 SQuaRE シリーズを参照して、まずは文字通り世界標準の形で取り組みを始めることをお勧めします。同シリーズは、品質の考え方、さらには、主要な品質の種類を抑えるうえでとても有用です。

ISO/IEC 25010: 2011(JIS X 25010: 2013)[5]においてソフトウェア品質は「ソフトウェアの使用時に必要性を満たす能力を決定する属性全体」と定義されています。つまり品質は、直接には利用者目線により使用時の必要性に関わるものであり、したがって利用時の品質を確保することが重要です。ISO/IEC 25010ではソフトウェア(およびシステム)製品が利害関係者に及ぼす影響をまとめた利用時の品質モデルにおいて、システムとの対話による結果に関係する次の五つの特性を規定しています: 有効性、効率性、満足性、リスク回避性、利用状況網羅性。これらの多くは、上述の顧客価値や市場競争力に直結します。

利用時の品質を確保するうえで、それらに影響を及ぼす製品品質のつくり込みが欠かせません。ISO/IEC 25010ではソフトウェア(およびシステム)製品の品質特徴を次の八つの特性として規定しています: 機能適合性、性能効率性、互換性、使用性、信頼性、セキュリティ、保守性、移植性。これらの主として開発者目線の品質は、上述の技術・アーキテクチャを特徴づけて、市場競争力を左右します。

加えてDX時代にデータから価値を創出していく上で、ソフトウェア(およびシステム)製品が扱うデータの品質確保も重要です。ISO/IEC 25012: 2008(JIS X 25012: 2013)[6]では、製品品質モデルを補完する形で、固有およびシステム依存の視点により次の15の特性を規定しています: 正確性、完全性、一貫性、信ぴょう性、最新性、アクセシビリティ、標準適合性、機密性、効率性、精度、追跡可能性、理解性、可用性、移植性、回復性。これらは主に製品品質に影響を与え、結果としてやはり価値を左右します。

4. 品質のつくり込みと評価

 このようにソフトウェアの品質を検討するうえで利用時、製品、データの大きく三つの範囲を考えることができ、それぞれについてさまざまな側面があります。

そのほとんどを一律に高めようとすることは現実的ではなく、アジャイル開発に代表される速いリリースとフィードバックの繰り返しが重視される現代のソフトウェア開発・運用においてはむしろ価値を損なうでしょう。大切なことは、実現したい価値に応じて品質特性間の関係を考慮の上、3~5程度の最重要な品質特性とその程度としての目標を定め、それを着実に達成し続けられるよう利用時、製品、データのそれぞれの範囲でつくり込みと評価を実施し、その連鎖を通じて着実に価値を実現・提供し続けることです。

製品品質の評価にあたっては、測定評価のプロセスや推奨事項を規定したISO/IEC 25040: 2011(JIS X 25040: 2014)[7]を参考とできます。また国際標準において規定する測定量や測定の方法はしばしば抽象的であり対象に応じた具体化が必要です。そこで筆者らは、適度な具体化を通じて製品によらず概ね共通に製品品質と利用時品質を総合的に測定評価可能な枠組みを実現しています [8][9]。成果を測定法の一覧としてまとめ、さらに複数製品への適用結果に基づいたベンチマークや品質特性間の関係の一端も公開していますのであわせてご覧ください。

品質のつくり込みについては、ソフトウェア品質知識体系ガイド(SQuBOKガイド) [4]に代表される品質技術の体系を参照の上、過去の事例も参考にしながら進めると良いでしょう。例えば筆者らは、SQuaREシリーズにおいて規定された品質特性と、SQuBOKガイド中でそれを実現するための品質技術の関係をモデル化したうえで、複数のソフトウェア製品に適用して有効性を確認しています [10]。

5. 国際標準に基づく客観的な品質認証

こうして国際標準や知識体系、事例などを参考に品質の目標や測定評価の方法を定められるとしても、その内容が妥当なものとは限りません。開発組織内に閉じて我流で進めることは、自らの品質を一方的に主張するようなものです。これでは、ソフトウェア製品を流通あるいはクラウド上で提供することでさまざまな顧客が用いる場合に、利用側では品質を詳しく確かめられず信頼できない可能性があります。DXではソフトウェアシステムやサービス間の接続を通じた箇所や組織を超えた連携が重要ですが、品質が保証されていなければ進みようもありません。

そこでDX時代にソフトウェアが価値創造の根幹を担う上で、信頼できる独立した機関の専門家により、国際標準に基づき妥当かつ客観的な形で品質評価を受けることが望ましいといえます。この要請にこたえる形で、ソフトウェア協会ではPSQ認証制度を実施しています。同制度では、SQuaRE シリーズの一つであるISO/IEC 25051:2014 [11]に基づき、専門評価機関による評価と判定委員会による審査を経て品質を認証しています。ソフトウェア製品を広く展開することをお考えの皆様は、ぜひこうした認証取得を検討されると良いでしょう。また製品を活用するという皆様にとっては、信頼できるソフトウェアを通じた確かなDXの進展と価値創造を加速させる上で、こうした認証を取得済みかどうかが選定のうえで重要です。

参考文献

[1] B. Boehm, “Value-Based Software Engineering: Reinventing Earned Value Monitoring and Control,” SIGSOFT Software Engineering Notes, vol. 28, no 2, p. 3, 2003.

[2] P. Rodríguez, et al., “A Theory of Value for Value-based Feature Selection in Software Engineering,” IEEE Transactions on Software Engineering, 2020. (Early access)

[3] G.M. Weinberg,大野徇郎 監訳,”ソフトウェア文化を創る(1 ~ 4)”,共立出版,1994-2000

[4] 飯泉紀子、鷲崎弘宜、誉田直美 監修、SQuBOK策定部会 編、“ソフトウェア品質知識体系ガイド(第3版)-SQuBOK Guide V3-”、ISBN 978-4-274-22631-1、2020/11/21、オーム社

[5] ISO/IEC 25010:2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models

[6] ISO/IEC 25012:2008 Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Data quality model

[7] ISO/IEC 25040:2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Evaluation process

[9] N. Tsuda, H. Washizaki, K. Honda, H. Nakai, Y. Fukazawa, M. Azuma, T. Komiyama, T. Nakano, H. Suzuki, S. Morita, K. Kojima, A. Hando, “WSQF: Comprehensive Software Quality Evaluation Framework and Benchmark based on the SQuaRE,” 41st ACM/IEEE International Conference on Software Engineering (ICSE), 2019.

[11] ISO/IEC 25051:2014 Software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Requirements for quality of Ready to Use Software Product (RUSP) and instructions for testing

執筆者経歴

早稲田大学グローバルソフトウェアエンジニアリング研究所所長・教授、国立情報学研究所 客員教授、株式会社システム情報 取締役(監査等委員)、株式会社エクスモーション 社外取締役。
著書に『Scratchでたのしく学ぶプログラミング的思考』『ソフトウェアパターン』『ソフトウェア品質知識体系ガイドSQuBOK Guide』、訳書に『演習で学ぶソフトウエアメトリクスの基礎』『モダン・ソフトウェアエンジニアリング』『機械学習デザインパターン』など。
リカレント教育プログラム スマートエスイー事業責任者、IEEE CS Vise President for PEAB、ISO/IEC/JTC1 SC7/WG20 Convenor、情報処理学会ソフトウェア工学研究会主査ほか。

第1弾:ソフトウェア製品の品質は評価できるか?~ソフトウェア製品の品質要求及び評価の方法~

東 基衞氏
早稲田大学名誉教授/元ISO/IEC 250nn SQuaRE (ソフトウェア品質要求および評価)シリーズ統括エディタ

はじめに

 私達が何か製品を購入するために、幾つかの候補製品からどのように選定しているのでしょうか? 例えば500円以下のお菓子やお弁当を買う場合にはそれほど考えるまでもなく、過去の経験や評判をもとに決めています。しかし自動車や情報システムのように複雑で高額な商品の評価を行う場合には高度な知識と技術が必要になります。

自動車の品質の場合

自動車は、一般の人が購入する商品の中で、最も高額な商品ではないでしょうか? その他の高額商品としては、例えば機械式高級腕時計、一眼レフカメラなど、いろいろあります。ここでは、安全性や信頼性などの製品の品質が特に問題にされる自動車を取り上げて考えてみましょう。
自動車を購入する際は、購入者はいろいろな検討項目を調べて念入りに評価し、選定していると思われます。例えば車高、車幅、全長などのサイズを調べますね。また、最寄り駅前の小さな広場では、Uターンをする際の回転半径が問題になります。このほか、安全性、信頼性、荷物の収容量、乗り心地なども重要で無視できません。これらの品質要求を定義し、評価する際の特性を品質特性といい、それらの全体及び関係を示すものを品質モデルといいます。品質特性の中には全長及び全高のように一般の自動車購入者にも容易に理解できる特性と、安全性及び信頼性のように一般の購入者には評価が不可能で、専門家の評価が必要な特性があります。

品質モデルと品質特性

これまで、日本の多様な工業製品の品質向上に大きな役割を果たしてきた日本科学技術連盟では、これまで製品品質向上のための重要な技術として、品質展開/品質機能展開(QFD)の活用を勧めてきました。QFDとは,顧客に満足が得られる設計品質を設定し,製造工程までに展開することを目的としています。ここで品質展開が品質モデルに相当します。
ソフトウェア製品に品質モデルの概念を適用したのは、多分、1976年の米国のDr. B. Boehmにより 2nd ICSE(ソフトウェア工学国際会議)に発表された論文が最初と思われます。その後筆者等が1985年2月にドイツのミュンヘンで行われたISO/IEC JTC1/SC7会議に日本の意見として提案して、その場でKJ法的な技法を適用して作成した品質モデルを原案として1991年に制定されたISO 9126 が最初のもので、その後改定されて、2001年にISO/IEC 9126-1 として発行されています。更に、当時の日本のJTC1/SC7/WG6が中心になって、2000年にスペインのマドリッドで行われたJTC1/SC7会義に提案した体系化された25000 SQuaRE シリーズは国際的に大きな成功を収めています。

定量的な品質の測定と表示

自動車の場合、全長、全高、車体重量などの仕様は、生産している企業のカタログ、仕様書を見れば、誰にでも理解できます。しかし例えば、事故を未然に防ぐための予防安全性、及び衝突をした際の乗員及び歩行者等の安全はカタログを見れば分るでしょうか?

評価機関・利用者の評判

自動車の安全性能の検査及び評価は、日本、アメリカ、ドイツなど多くの国が実施しています。
例えば日本では、国土交通省と独立行政法人 自動車事故対策機構(NASVA)が1995年から実施している「自動車アセスメント(JNCAP)」があります。2020年度は10車種の評価が行われ、安全性能評価結果が5月に発表されました。(web page による)
カメラの画像の美しさ、使い易さのように評価を行う人の個人の感覚と意見に依存する場合もあります。カメラなどを購入する場合には専門家の意見が参考になります。また、温泉旅館を予約する際には、利用者の評価も若干の参考にはなりますが、泉質の検査は専門家でなければできません。
果物の甘さなどは、糖度を測定することにより客観性を保つことはできますが、おいしさは甘さの他に酸味とのバランス、香りなども影響するので客観性を保つことは難しい・・・と言われています。

信頼できる機関の専門家による評価とマーク

自動車の衝突安全性の評価のように高額な商品を固定壁にぶつける破壊検査、魚の放射線物質含有量のような精密かつ高度な検査機による検査など一般消費者には実行不可能です。このような場合には、公的な機関が標準に基づいて審査を行い、例えばJISマークを付与して公表するのは信頼がもてます。

ソフトウェア製品の品質評価

中小企業などの多くの利用者を対象にして販売され、利用されることが多い流通ソフトウェア製品の場合も製品の購入希望者がテストを行って品質を評価することは困難です。流通ソフトウェア製品の品質モデルは、ISO/IEC 25051がSQuaRE シリーズの一つとして刊行され、ISO/IEC 25051 に基づいてSAJ(ソフトウェア協会)が、専門のソフトウェア製品評価機関を選定して審査を行い、別途専門判定委員会が最終審査を行って、合格した製品には認証マークを付与して登録を行っています。ISO/IEC 25051は同様に、フランス、アルゼンチン、マレーシア、韓国などでもソフトウェア製品の品質評価に用いて実施しています。市販のソフトウェア製品を購入して利用しようと検討している企業の皆様のお役にたてば幸いと存じます。

執筆者経歴

早稲田大学名誉教授。1975年よりISO国際標準化活動に参加,1987年より2014年末までISO/IEC/JTC1/SC7/WG6 Convener。ISO/IEC 250nn SQuaRE (ソフトウェア品質要求および評価)シリーズ統括エディタ。情報処理学会情報規格調査会委員,同元SC7専門委員会委員長,同WG6委員会主査,同JIS化委員長。ソフトウェア協会PSQ認証判定委員会委員長。

1963年早稲田大学卒,日本電気(株)入社。情報システム部門技術者、プロジェクト管理者を経て全社ソフトウェア品質向上プロジェクトを幹事として推進。同社ソフトウェア生産技術研究所ソフトウェア管理技術開発部長。

1987年日本電気(株)退社,早稲田大学理工学部教授就任。同理工学術院経営システム工学科教授。ソフトウェア工学の教育・研究に従事。理工系英語教育センターの設立に貢献し初代センター長。元英国South Bank大学,及びカナダ・モントリオール工科大学客員教授。

通産省標準化功労者表彰,日経品質管理文献賞2点,IEEE CS Golden Core Member,IEC1906賞,情報処理学会コンピュータサイエンス領域功績賞など受賞。

著書:ソフトウェアの標準化、ソフトウェア品質管理ガイドブック、事務システム標準化マニュアル、その他多数,論文多数。ICSE, COMPSAC, AQuIS, OOIS その他多くの国際会議で委員長,委員など歴任,ソフトウェア工学関連国際会議の基調講演多数。

PAGE TOP