デベロッパー

デベロッパー

要求ベースのソフトウェア開発戦略が必要なわけ

Corn e Human
2010年7月6日 / 10:00
 
 
また新たな10年が始まる今は、企業や組織が IT に期待するものが常に変化することを熟考する良いタイミングだ。IT が実現できること、そして企業や組織が IT を戦略的な差別化要因として利用する方法は、われわれの目の前で10年前から飛躍的な変化を遂げてきた。ウェブベースアプリケーションの普及からクラウドコンピューティングの台頭まで、企業の IT を巡る状況は、今世紀の初めから今にかけて大きく変化した。ソフトウェア開発者には、企業目標の効率的達成をかつてないほど容易にする新しい「キラー」ツールがある。

しかし、マイルストーンをいくつも超えて技術革新があっても、IT 部門は今も基本部分で悪戦苦闘しており、ソフトウェア開発プロジェクトはこれまで以上に失敗しているのが事実だ。Standish Group から先ごろ出たレポートによると、 IT プロジェクトの障害発生率は十数年ぶりの高い数字だという。その同じレポートの中に、製造欠陥の70%は要件フェーズとデザインフェーズの部分で発生しているとの記述がある。ショッキングな数字だ。

これが意味するところは単純だ。大半の IT プロジェクトに対する期待が実際に可能なことと一致していないのだ。このズレが IT プロジェクトの失敗の中心にあり、IT と経営幹部との溝の深まりを説明するのに大いに役立っている。要件定義の失敗が原因で、開発者は成長の牽引に役立つ革新的で先を見越したアプローチにではなく間違った修正に不相応な時間を費やすという逆方向に進むことになりかねない。

効率性を最大限に高めるため、企業や組織はソフトウェア開発の要件定義フェーズにおいて拡大を続ける IT と企業とのコミュニケーションギャップに対処する必要がある。プロジェクトが究極のビジネスニーズに沿って確実に進むよう、開発プロセスのすべてのステップにエンドユーザーとの対話を含め、–それには最初から着手する必要がある。

手始めに、プロジェクトの利害関係者(IT チームだけでなく、経営幹部やエンドユーザーも)を一堂に集め、要件に関して合意を取ることが重要だ。すべての関係者が同じ部屋に集まるのは現実的ではないかもしれないが、利害関係者全員が会議に参加することが重要なのだ。チームはそこから、これらの要件を満たすために必要な手順の要点を詳細に述べる必要がある。プロジェクトを予算内でスケジュール通りにビジネスユーザーの基準にあわせて完成させるには、ここまで細かく進める以外に方法はない。

このミーティングの目標は、1)要件一式を定義する、2)ソフトウェアの機能とユーザビリティの優先度で合意すること、になる。まず、どのプロジェクトにも独自の要件が出てくるが、これらは3つのセットに分割する必要がある。ビジネスユーザーにとってニーズの高い「業務要件」、これらの業務要件のインプリメント方法を技術的に解釈したものである「機能要件」、そしてパフォーマンスやスケーラビリティなどの「非機能要件」だ。

開発チームはこれらの要件セット間の相互関係を緻密に計画する必要がある。このようなタイプの影響分析は、要件セットが相互に与える影響を開発チームが確実に理解し、管理できるようにする。要件に変更を加えるときは、その変更がほかの要件に与える影響を開発チームが良く理解する必要がある。また、すべての関係者が機能やユーザビリティの優先度でも合意する必要がある。また、各要件セットの対象範囲や、同様に各セットでチームが負えるリスクの範囲に関しても全員が共通の理解でいなければならない。

プロトタイピング/シミュレーションは、要件誘出プロセスの一環としてかなり有益なテクニックだ。それにはプロセスに対する感触を得ることが必要になる。完成品と近似するかなり詳細なモデルが含まれた忠実度の高いプロトタイピングだとあまりに膨大な時間と労力を要する。その一方で、シンプルな画面モックアップツールが含まれた忠実度の低いプロトタイピングでは機能の動作に対する本当の感触を得るのに十分な理解は得られない。その中間のどこかを目標にし、利害関係者全員の学習経験とフィードバックのメリットを享受するのに十分な詳細を確保する必要がある。

プロトタイピングは、正しくインプリメントすれば、(あまりに良くある結果論だけ出す形ではなく)QA スタッフがプロジェクト初期の着想段階から確実に関与しながら、開発チームに必要な時間も最大60%削減することができる。このフェーズには、開発中にソフトウェア製品に適用するテストケースと要件の生成も含まれる。このプロトタイプを利用することで、テスター、開発者、QA スタッフ、アーキテクト、経営幹部、およびエンドユーザーをはじめとする関係者全員からフィードバックや見識を得ることができる。これは、プロジェクトが進展するなかで、将来にわたって品質が確保され、欠陥が排除されるのを助ける。プロジェクト後半に複数の欠陥を排除するよりはるかにコスト効率の高いプロセスである。プロトタイピングは、要件ベースのテストが打破できるもう1つの障害にも役立つ。孤立したソフトウェア開発チームだ。

コラボレーションとコミュニケーションの重視

ソフトウェア開発に対する従来のアプローチは、開発チームが孤立した環境(サイロ)で作業をするめることが多い。コラボレーションとコミュニケーションを重視することにより、要件ベースの開発は、経営陣とエンドユーザーとのズレにつながるサイロのスタイルから開発チームを守る。これらの要件設定プロセス全体において、開発チームは必ず組織全体で共通の言葉を使うようにする。こうすることで、あらゆる役割間のコミュニケーションが促進され、それによって必要な絞り込みやチューニングが楽になる。

プロジェクトが成功するためには、関係者全員が成功するための仕様をあらかじめ理解することが極めて重要だ。それを要件ベースのソフトウェア開発とテストは保証することができる。プロジェクトに着手したら、確実な成功のために利害関係者は全員が共通のビジョンを持ち、理解を共有する必要がある。

IT 部門がより効率的な運営を目指し続けるなか、このプロセスは経営部門と IT のコラボレーション、コストの削減、商品化までの時間短縮といった根本的なメリットをもたらすことができ、企業各社は手直しや保守プロジェクトのコストを削減しつつ、これを成長と技術革新のための基盤として利用することができる。

著者紹介

Corn e Human(Corn e Human)
Corn e Human は Micro Focus の製品マーケティングディレクターで、要件定義と管理のほか、ソフトウェア変更/コンフィギュレーション管理を専門にする。以前は Borland で Borlands Core ALM 製品ラインアップの製品マーケティングディレクターを務めていた。

New Topics

Special Ad

ウマいもの情報てんこ盛り「えん食べ」
ウマいもの情報てんこ盛り「えん食べ」 「えん食べ」は、エンジョイして食べる、エンターテイメントとして食べものを楽しむための、ニュース、コラム、レシピ、動画などを提供します。 てんこ盛りをエンジョイするのは こちらから

Hot Topics

IT Job

Interviews / Specials

Popular

Access Ranking

Partner Sites