マイナビは6月26日、「ソフトウェア品質サミット」(東京・竹橋/参加費無料)を開催する。同セミナーの基調講演に登壇する電気通信大学 情報理工学部 講師 西康晴氏に、ソフトウェアの品質確保に重要なソフトウェアテスト、中でも「受入れテスト」が "納得感の高いシステム" を入手するために果たす役割について話を伺ったので、本稿ではその内容をお伝えしよう。

西先生が登壇する「ソフトウェア品質サミット」(6月26日(水) 東京・竹橋)の参加申し込みはこちらから(参加費無料)

ソフトウェアの品質を確保する「受入れテスト」

電気通信大学 情報理工学部 講師 西康晴氏

ユーザー企業が行う受入れテストは、本番稼働前にシステムの品質を確保する最後の砦である。だが、日本国内におけるシステム開発の現場では、受入れテストがベンダーに"丸投げ"されているケースが多い。このような状況に警鐘を鳴らすのが、電気通信大学情報理工学部講師の西康晴氏である。

「ユーザー企業による受け入れテストの"丸投げ"状態が続けば、ベンダー企業側に品質保証のノウハウや知識が閉じ込められてしまい、ユーザー企業側は言いなりになるしかありません。その結果として、リリースが遅れたり、本番障害が多発したり、徐々に開発費用を引き上げられたり、他のベンダー企業に発注できなくなったりと、多かれ少なかれガバナンスが効かない状況に陥ります」

国際的に高まるユーザー主導による受入れテストの重要性

「ユーザー企業がガバナンスを効かせるためには、"納得感"を高めることがキーになります。失敗するシステム開発では、ユーザー企業の情報システム部門の皆さんは何かこうモヤモヤした感覚を持っています。ベンダー企業から様々な報告を受け承認し検収しているにも関わらず、納得していないわけです。もちろんベンダー企業が行ったテストや品質保証を詳細まで報告させて理解し同意することは、忙しい身なので難しいと思います。しかし、だからと言って丸投げを繰り返すばかりでは、納得感を高めることなどできません」と西氏は訴える。

「まず大事なのは、ユーザー企業自らが主体的に受け入れテストにコミットすること。当たり前の話ではあるのですが、そこが出発点です。自分たちが受け入れテストで一体何をテストしているのかを大まかに挙げ、必要なだけ丁寧に具体化し整理していくと、ずいぶん納得感は高まります。マインドマップのような図を使ってもよいでしょう。それができたら次に、ベンダー企業から開発側で行っているテストを納得いくよう説明してもらい、同じように整理していきます。難しいことはありません。自分たちがきちんと納得してから先に進むようにすれば、ガバナンスが徐々に効くようになってきますし、テストの勘所やノウハウも掴めるようになってきます」と西氏は指摘する。

この西氏の考えは、システム開発における国際的な流れにも沿っている。例えば近年、新たなソフトウェアテストの国際標準としてISO/IEC/IEEE 29119-2というテストプロセスモデルが策定されつつある状況だが、この標準にはユーザー企業がガバナンスを効かせるコンセプトが盛り込まれている。

ISO/IEC/IEEE 29119-2では、開発に携わる組織が全体としてテストに関するポリシーを策定することを規定している。一例として、ユーザー企業がプロジェクト横断的にコミットすべきテストポリシーが書かれている。そして組織テストポリシーから個々のテストケースへのトレーサビリティが確保されるため、意図が不明確なテストを無駄に実行するのを減らすことができる。こういったコンセプトをきちんと実施していくと、ユーザー企業がテストに関するガバナンスを高めることができる。

このように、国際的にもユーザー企業自らがテストにコミットし、勘所やノウハウを蓄積してガバナンスを効かせるという考え方が主流となってきているのだ。

「例えば、海外のテストカンファレンスに行くと、多くのユーザー企業が参加しているのを目にします。また、ある欧米の著名なユーザー企業には、ソフトウェア"品質"担当のVice Presidentがいます。彼らは、情報システムの品質が会社の利益を大きく左右することをよくわかっているのです。ですから当然、自分たちが受け入れテストにコミットしてガバナンスを効かせようとしますし、積極的に勘所やノウハウを自分たちに蓄積しようとするわけです」と西氏は語る。

納得感の高いテストはユーザー企業とベンダー企業の一体感を生み出す

受入れテストの重要性を理解していても、一から知識を蓄積して技術者を育成するのはユーザー企業にとってハードルが高いと思われるだろう。また、スピード感が求められるシステム開発の現場では、時間的な猶予がないケースが多いのも実情だ。

「だからこそ、ユーザー企業とベンダー企業が一緒になって納得感を高めていくことが大切なのです」と西氏は訴える。

さらに西氏は、「ともすると、ガバナンスの向上や受け入れテストの強化といった考え方は、ユーザー企業とベンダー企業の対立を煽りかねません。しかし、それは間違いです。対立と丸投げは現象こそ真逆ですが、納得感の欠如という意味では共通ですからね。大事なことは、納得感の向上です。受け入れテストの強化は手段であり、ガバナンスの向上は結果に過ぎません」と語る。

また、「例えば、ユーザー企業は開発全体で行われるテストの全体像をきちんと納得し、納得感やその材料をベンダー企業と共有する。受け入れテストの部分は自分たちで主体的に戦略を立て設計する。受け入れテストの実施は、協力企業にテストツールによる自動化を依頼する。技術力が不足していれば、コンサルティングを依頼してもよいでしょう」というように、状況に応じた外部リソース活用の必要性を指摘している。そうすれば、「上手に構造化やパターン化、可視化、ツールの活用を行ってくれると思います」とのことだ。

と同時に西氏は、過度な外部・ツール依存に対して注意を促している。

「最近はツールの機能も豊富になって、例えばキーワード駆動テストを行うとかなり便利にツールを活用できます。ともあれ、自分たちがいい加減にテストを進めているのに納得感が高まることはありません。納得感が高まると、テストプロセスやバグのパターン、ツールによる自動化といったテスト技術の恩恵を受けることができ、システムの品質も開発スピードも上がっていきます。いきなり全部取り組むのはムリですから、徐々に取り組んでいくといいでしょう。相談相手が社内や社外にいると気持ちが楽ですね。ただコンサルタントやツールに過度に依存してはいけません。丸投げする相手が変わるだけですから」

西氏は、このようにユーザー企業が徐々に納得感を高めていくことでシステムの品質や開発のスピードを高めるイメージを提示している。そして話は、ベンダー企業との関係性についても及ぶ。

「ベンダー企業で行われる開発過程のテストについては、成果物の提出と承認という形式的な作業に終始するのではなく、自分たちが納得できるまで説明を求めることが重要です。さして難しくないところや上手く進んでいることに詳細な説明は不要ですが、キツいところやマズいことを隠されても困ります。もちろんユーザー企業側も、自分たちが何のために何を作ろうとしていて、どういうものは受け入れられないのかをきちんと説明できないといけません」

続けて西氏は、"納得できる"とは具体的にどういうことなのかを熱く語ってくれた。

「納得感の向上というのは、ベンダー企業に『おい、納得いく説明をしろ!』と凄むことではないのです。あらやるバグをゼロにしろとか、業界最安値にしろといったユーザー企業側のムリな夢物語を押しつけることでもありません。ユーザー企業が納得感の向上を追い求めることで、ユーザー企業とベンダー企業の間でWin-Winの関係をつくることなのです。ベンダー企業がきちんとテストの戦略立案や設計をするようになるし、ユーザー企業自身も自分たちが目指しているビジネスやつくりたいシステムの理解度を上げることができる。リスクを早期に把握し、お互いが適切な役割分担で迅速に解決していくようになる。お金をかけて投資すべき技術やツールとその効果もはっきりしてくる。こうした進め方をすると、何より意味不明で余計なテストを撲滅することができ、スピードが高まります。本当の意味でガバナンスが効いた状態になるわけですね。当たり前に聞こえますが、簡単ではありません。納得感から逃げては、よいシステムをスピーディーに開発することなど望むべくもないのです」

***************

来る6月26日に開催される「ソフトウェア品質サミット」に用意されている西先生の基調講演では、ユーザー企業がより「納得感」の高い受入れテストを行うための考え方について、本稿ではお伝えしきれなかった西先生の熱いトークが展開される予定だ。また、ソフトウェアテストに関する最新の国際情勢を把握する絶好の機会にもなる。ソフトウェアの品質について日頃課題を抱えるユーザー企業の情報システム担当者の方には必聴のセミナーになることだろう。