オブジェクト指向開発方法論の事実上の標準となっているRUP。優れた開発方法論だがそのまま現場に適用してもプロジェクトの成功は望めない。むしろ従来の開発方法論よりも高いスキルが必要となる場面があることを忘れてはならない。個々のプロジェクトに合わせて適切なカスタマイズを施すことも重要である。

(本誌)

 プログラミング言語や開発ツールなどと並んで,ソフトウェア開発において重要な位置を占めるのが開発プロセスである。適切な開発プロセスを構築するため,これまでさまざまな開発方法論が提案されてきた。ソフトウェア開発の進め方を手順として規定したものだ。

 ソフトウェア開発において現在主流となっているのは,オブジェクト指向言語を中心とした開発である。このため,従来型のデータ中心アプローチによる手法などからオブジェクト指向を前提としたものに移行するケースが増えてきた。

 中でも,最も有力なのがRational Unified Process(RUP)である。ソフトウェア業界では,RUPが事実上の標準になりつつある。他にも多くの手法が提唱されているが,これほど開発プロセス全体にわたって広範囲かつ精緻に規定したものはない。要求定義や分析設計などソフトウェア開発に直接関係する作業だけでなく,テストや導入,管理系の作業(プロジェクト管理,ソフトウェア構成管理,環境)まで規定している。個々の企業が独自に構築した開発プロセスでも,RUPをベースに作られているものが多い。

 しかしいくら優れた開発方法論でも,そのまま適用したら開発プロジェクトは成功しない。RUPはカバー範囲が広く規定も細部にわたるので,このことを忘れて安易に導入してしまいがちだ。組織やプロジェクトに応じたカスタマイズを施さなければ有効に機能しない。さらに,開発方法論だけでは解決できない課題があることにも留意する必要がある。RUPは導入すべきものだが,万能ではないのだ。

ベスト・プラクティスがRUPを特徴付ける

 RUPは米Rational Software社(2003年に米IBM社が買収)が開発した。さまざまな方法論の要素を取り込み,何年もの時間をかけて作成された。さらにそれを電子媒体化し,製品として販売している。

 RUPはまず開発プロセスが満たすべき原則を示し,次に具体的な開発プロセスを提示している。その中で作業分野ごとに必要な手順(ワークフロー)や,プロジェクトのメンバーに求められる役割,各工程で作成するべき成果物も定めている。文書は40MバイトほどのHTMLファイルで構成されており,すべてに目を通すのは容易ではない。

 ただしRUPを特徴付ける考え方は,冒頭に示された原則(「ベスト・プラクティス」と呼ぶ)を見れば分かる。Rational Softwareが長い時間をかけて培った経験則の集大成であり,RUPが定める開発プロセスの基礎となっている。

 ベスト・プラクティスは,6項目の原則として示されている。(1)ソフトウェアを反復的に開発すべし(反復開発),(2)要求を管理すべし(要求管理),(3)コンポーネントに基づくアーキテクチャを使用すべし(コンポーネント・アーキテクチャ),(4)ソフトウェアを視覚的にモデリングすべし(ビジュアル・モデリング),(5)継続的にソフトウェアの品質を検証すべし(品質の検証),(6)ソフトウェアへの変更を管理すべし(変更管理),である。

 (1)の反復開発は,開発のサイクルを複数回繰り返すというものである。これによりリスクを早期に解決し,顧客のニーズに合ったシステムを作り上げることを狙っている。

 顧客の要求を正しく把握し,システムに反映するべきだというのが(2)である。要求を的確に抽出し,システムの機能として確実に落とし込む。その結果,できあがったシステムが顧客の求めるものとかけ離れたものになる事態を防ぐ。

 (3)のコンポーネント・アーキテクチャは,ソフトウェアを部品化し,それを組み合わせて一つのシステムを作ることを推奨する。システムの再利用性を高め,変更を容易にする効果がある。

 システムを目に見える形で抽象化して表現するべきだという考え方が(4)のビジュアル・モデリングである。モデルがあれば,システムの構造や仕様を理解しやすくなる。システム開発にかかわるすべての人が共通の理解を得られる。

 (5)の品質の検証は,テストによってシステムの品質を維持すべきというものである。RUPでは,システム開発の適切な時期に,適切な品質目標を達成することを求めている。これを確認するために,頻繁なテストが必須となる。

 最後の(6)は,ソフトウェアに加わった変更を管理し,あとから追跡できるようにするべきだという考え方だ。ソフトウェアには,さまざまな理由からさまざまな時期に変更が入る。これを管理しておかなければ,開発コストやスケジュールに大きな影響を及ぼす事態になりかねない。

 これらはすべて開発プロジェクトを成功に導くための基本的な考え方である。ただしどれも,プロジェクトに取り入れるためにはそれなりの工夫やスキルが必要である。

山崎靖之 Yasuyuki Yamazaki

株式会社テンアートニ 第一事業部長
1963年生まれ。ラショナルソフトウェア(現日本IBM)のコンサルタントを経て現在に至る。メインフレーム時代にDOA,その後はオブジェクト指向の開発手法に関わる。現在はRUPを自社向けに仕立て直し,実践的にした「t-SES」を作成している。趣味はサッカー。休日は息子が所属するクラブチームのコーチとして,また自分の所属クラブでサッカーに明け暮れる。