ソフトウェア品質監査制度の運用に向けた課題
ここまで、現在提案されているソフトウェア品質監査制度の全体の枠組みを紹介してきた。しかし、現実にこれを運用していくためにはまだ解決しなければならない課題がいくつか残されている。ここでは、その課題のうちの主要な3つを取り上げたい。
開発プロセスの問題
従来の開発プロセスでは、開発対象のソフトウェアに対する「要求」から設計を開始し、設計結果を仕様書としてブレークダウンしながら開発を進める方式が主流だった。しかしこの方法では、設計者の頭の中だけにある「暗黙の要件」が明文化されないまま残されるケースがあると指摘されている。明文化されない要件は、開発工程の中では担当者間の曖昧な情報共有によって継承される。このことは品質の低下や開発作業の手戻りのリスクを増大させるだけでなく、スムーズな監査の実施を妨げる要因にもなる。
開発要件が暗黙知のまま残されている場合、監査を実施する際に最上位の要求からそのような「暗黙の要件」を推察しながら進める必要がある。しかし監査は開発に直接関わらない第三者によって実施されるため、暗黙の要件の推察は困難であり、調査・確認に要する工数が大幅に増加することになってしまう。その結果、監査自体が期待通りの効果を得られない恐れが生じる。
※クリックで拡大画像を表示
そこで、監査制度を有効に運用するためには、要件を明文化し、暗黙知を無くす開発プロセスを導入することが必要となる。有力視されているのは、要件を形式的手法を用いて形式化し、その要件を中心に開発を進める要件ベースのプロセスや、設計段階で開発対象を抽象化するモデルベースの開発プロセスを導入することである。IPAでは、国(経済産業省)との連携により、監査制度自体の構築と並んで、このような開発プロセスの確立やそれをサポートするツールの整備に向けた支援活動も進めていくとのことだ。
トレーサビリティの問題
ソフトウェアの品質監査を効率的に行うためには、要件の明確化と並んで、開発工程におけるトレーサビリティの確保を確実に行う必要がある。ソフトウェア開発におけるトレーサビリティとは、おもに上流の成果物と下流の成果物とを結びつけるトレーサビリティ(図3の縦の関係)と、要求・設計・実装と検証とを結びつけるトレーサビリティ(図3の横の関係)がある。前者では、ある設計がどういう要求から生じたのか、またはある要求がどういう設計によって実現されているのかなどを明確に記録して、追跡できるようにするもの。後者では、要求の達成や設計の実装が行われたことを知るためにどういったテストが行われたのかや、あるテストがどんな要求や設計を達成するために行われたのかを追跡できるようにするものである。
これらのトレーサビリティが正しく確保されていれば、監査の段階でも要求に対する設計の妥当性や、テストの妥当性を検証しやすくなる。逆にトレーサビリティが確保されていない場合、どの要求がどの設計によって実現されているのかや、要求や設計の実現がどのテストによって確認されたのかを知るために多くの調査が必要になり、監査に要する工数が増大してしまうことになる。
したがって監査制度の有効な運用のためには、業界全体として開発工程におけるトレーサビリティの確保を進めていかなければならない。前述の開発プロセスの問題と並んで、どのようにして実際の開発現場にその意識を浸透させるのか、また、実践に伴う負荷を軽減するためにどのような仕組みやツールでサポートしていくのかが大きな課題となる。
利用情報のフィードバックの方法
ソフトウェア品質監査制度の大きな特徴のひとつとして、ユーザーによる利用情報や障害情報を審査基準などにフィードバックするという点を紹介した。しかしながら、実際にどのような方法でそれらの情報を収集するのかは今後の検討事項とされている。
もともとこの仕組みは、審査基準が形骸化してしまうことを防ぎ、現実の状況に合った監査を行うために導入されるものである。したがって実際に製品がどのような利用のされ方をしており、それがどのような効果や障害につながっているのかという事実を、可能な限り幅広く、そして迅速に収集・分析できなければならない。監査制度の中でそのサイクルを確立するための基盤となるシステムを構築する必要があるわけだ。
今後の展望は
ここで紹介したような課題を解消するために、IPAでは日本の産業界とも協力しながら様々な取り組みを進めている。また、2011年10月にはフランスの原子力・代替エネルギー庁システム技術統合研究所(CEA LIST)との共同研究の合意を交わし、2012年2月には最初の合同ワークショップが開催されて今後の方針が話し合われた。
連載最終回となる第4回では、これらの取り組みと今後の展望などを取り上げたい。
Keep up with ZDNet Japan
ZDNet JapanはFacebookページ、Twitter、RSS、Newsletter(メールマガジン)でも情報を配信しています。