レポート

JaSST '08 Tokyo開催 基調講演にCapers Jones氏が登場

この記事を読むのに必要な時間:およそ 1.5 分

1月30,31日の両日,東京,目黒雅叙園にて「ソフトウェアテストシンポジウム 2008 東京」(JaSST '08 Tokyo/主催:NPO法人ASTER)が開催されている。今回で6回目を迎える東京での同シンポジウムの開催は,年々規模を大きくしており,今回も延べ1,500名以上の来場者を集めている。今年は新しい試みとしてASTA(Asia Software Testing Alliance)との共同企画「ASTA in 2008 Tokyo」というセッションも開かれ,日本だけではなく中国,韓国,マレーシア,ベトナムから招いたテスト実務者が講演を行い,各国からの参加者も含め国際色豊かなイベントとなった。

ソフトウェアテストシンポジウム 2008 東京

初日の基調講演は,ソフトウェア開発における工数や見積もりの定量化研究の先駆者として知られるCapers Jones氏によって行われた。「Software Quality in 2008」と題されたこの講演で,Jones氏は会場を埋め尽くした参加者を前に,これまで集めたソフトウェア開発に関わる膨大なデータを元に,ソフトウェアの品質を良好に保つための方法について語った。

まず,ソフトウェアの品質を定量化するための基本となる単位としてFP(Funtion Point)を用いる。このFPは従来工数の基本となっていたLOC(Lines of code=行数)に比べ,客観的な比較が可能となる。実際にFPを計算するには,ソフトウェアごとにさまざまな角度からの検証が必要で,導き出すのに手間がかかるが,簡易的な計算法も確立されている。このFPをベースとして,ソフトウェア工程を「要求」「設計」「コーディング」「ドキュメンテーション」「不具合修正」に分け,それぞれ工程におけるFPあたりの不具合の検知数と不具合の修正率を計算した結果を,米国の平均,良品質のソフトウェア,品質の悪いソフトウェアで比べたデータを示した。

Jones氏によると,良い品質のソフトウェアを作るためには,各工程の累積の不具合修正率が95%以上でなければならないという。米国の平均的なソフトウェアはこれが85%で,満足すべきレベルに達していないとした。また,品質の良いソフトウェアは,OSなどのシステム系のソフトウェアに多く,悪品質のソフトウェアとしては,5000FP以上の大規模なクライアント/サーバ型ソフトウェアが非常に多いとのこと。

そして,さまざまプロジェクトを分析した経験から,こうした大規模なソフトウェア開発で,AgileやXPといった手法を安易に使ったり,部分的にRADツールを使うと,品質の悪化に大きく影響すると断じた。逆に,良質のソフトを生む大規模開発にはJAD(Joint Application Design)やTSP(Team Software Process)/PSP(Personal Software Process)の実践が非常に効果的であるとのこと。

工程別に分析すると,要求仕様をまとめる初期段階に時間をかけ品質を検討すると,そのソフトウェアは良質となる可能性が高い。逆に後半の工程に進むにつれ,要求段階で作った不具合の影響は大きくなり,修正も困難となる。結果的に膨大なコストが強いられることになる。こうした話はよく言われていることだが,Jones氏は客観的なデータを元にこれを明解に示した。

結論として,ソフトウェア品質を上げるためには,コーディング段階での単体,結合,機能テストを網羅するのはもちろんだが,それだけでは十分なく,各工程のインスペクション,そして工程に応じた調査手法を駆使すること。それが結局は開発トータルのコストを抑え,ソフトウェア開発を成功に導く鍵であると語った。

「ほとんどの開発において,ソフトウェアテストによる不具合修正率は40%しかない!」など,テスト技術者には手厳しい発言も多かったが,仕様決定段階におけるインスペクションを含め,プロジェクトの初期段階から品質を検討することの重要性を繰り返し説いていたのが印象的であった。

Jones氏は基調講演のほか,同日午後のセッションでさらに詳しいソフトウェア品質の計測についてチュートリアルを行い,31日にはディスカッションも予定されている。

基調講演のCapers Jones氏

基調講演のCapers Jones氏(1)

基調講演のCapers Jones氏(2)

JaSST ソフトウェアテストシンポジウム
URLhttp://www.jasst.jp/

バックナンバー

2008年

  • JaSST '08 Tokyo開催 基調講演にCapers Jones氏が登場

バックナンバー一覧

コメント

コメントの記入