IT利用者がアプリを快適に使用するためには
IT利用者がアプリを快適に使用できるためには、ソフトウェアおよびシステムの品質を担保する必要があります。では、どのように品質を確保するのでしょうか。そこにどのように第三者テスト検証がからむのでしょうか。
(第一回記事はこちら)
ITトラブルが品質を考えさせる
ユーザー企業がシステムの品質および品質管理を問題とするのは、たいがいが運用中にITトラブルが発生したことによる業務遅延や営業停止などが要因となっています。例えば「PCの処理時間が遅くなった」「データが今すぐほしいのにいつまで待たせるの」「メールが使えない」-など業務で不満が出る軽微なものから、数千万人の会員が利用するECサイトがアクセス拒否に遭った、SuicaやPASMOなど公的なICカードで改札を通れなくなった、航空機や鉄道などの旅客管理システムが停止した、金融デリバリシステムが動かない-といった社会を混乱に陥れるようなシステムトラブルが起これば、多額の損害金が発生するだけでなく、信用問題から企業の存続にかかわるリスクを持つことになります。
組込みソフトウェアを見ると、自動車や家電、スマホなど商品のハード/ソフトのバグによって数万台~数百万台規模でリコール、なんていう話も時折聞きます。既存システムにアプリを追加しただけでトラブルになるリスクもあり、これをできるだけ少なくする対策として第三者テスト検証があるわけです。システムを利用する側(発注側)にとってもリスク軽減対策につながりますよね。
品質特性を捉えることも重要
品質管理を考えるときに、商品やサービスのリスクに止まらず、システムの外的要因となる現業部門のアプリ利用者の利便性向上、内的要因となる運用・保守管理者による入力・操作ミスといった人的ミスを少なくする取組みなども必要です。例えば、IT利用時の誤操作をできるだけ少なくするユーザーインターフェース(UI)を採用することも、要件定義段階でシステム検証項目の中に入るようにしておけば、設計時点で品質を高めることができるはずです。
これにいい例があります。大阪に本社を置くあるテスト事業者が実践しているソフトウェアの品質確保への取組みです。それは、「品質特性を考慮して要求を分析し、その情報を共有する」という方法です。品質特性を利用者など外部要因とIT部門など内部要因に分け、それぞれ3項目の特性を定めています。そしてテストを行う基本概念を決めます。この基本概念は具体的に、お客様の要求に対し、「あってはならないことは何か」=NEVER、「できなければならないことは何か」=MUST、そして「あったらいいことは何か」=WANTを明確に意識するというのです。この「あったらいいな」というのはIT利用者が快適に操作できる環境をシステム側、UI側ともに考えることにつながります。要求仕様や設計時にそうしたWANTにたどり着けば、利用者からすると品質がいいシステムを使えるということになるわけです。
SIerにとって、お客様の要求として避けて通れないのが非機能要求によるシステム開発です。そのため、第三者システム検証では、この非機能要求についても定義しています。また、システム構成やシステム構造もイメージしておくことでテストの内容に一貫性を持たせることが可能になります。こうした対応は専門のテスト事業者でないと斟酌できない分野です。品質を高めるための取組みはお客様とSIerに加え、第三者テスト検証事業者がかかわり、スクラムを組むことが欠かせません。つまり、品質を向上することと第三者システム検証・テスト検証は切っても切れない組み合わせであるといえます。 ウォーターフォール型の開発におけるV字またはW字の検証プロセスでは、上流工程のシステム設計検証と下流工程のテスト検証に大きくテスト内容が分かれますが、いづれにしてもノウハウのある専門事業者がお客様のIT利活用を促す一端を担っていることは間違いありません。
業務系システムの第三者ソフトウェア検証は、IT業界の中でもまだ地位が確立されていません。組込み系ではIPAやIVIAを中心に標準化への取組みが進みつつありますが、それでもまだまだ認知度が低いようです。次回は、業務系システムでの第三者検証の必要性を認識させるにはどうしたらいいのかなどを追ってみます。