連載
» 2007年04月06日 00時00分 公開

CoolなEclipseプラグイン(16):EPFプラグインでらくらく開発プロセス管理!(入門編) (1/2)

[豊嶋淳史,NTTデータ 基盤システム事業本部]

 XP(Extreme Programming)に代表されるアジャイル開発手法では、さまざまなプラクティスが提案されており、それらに興味を持っている方は大勢いると思います。実際の開発プロジェクトでは、参画するメンバのスキルによって、数多くのプラクティスから適切なものを選択する必要があります。

編集部注アジャイル開発手法について詳しく知りたい読者は、@IT情報マネジメント用語辞典の[アジャイルソフトウェア開発]をご参照ください

 また、オフショア開発などプロジェクト特有の制約事項によって、一般的なやり方とは異なる手順で開発を進める場合もあります。利用するプラクティスや開発の段取りを定義するのが、開発プロセスです。

 今回は、開発プロセスをEclipseベースで定義するためのプラグインEPF(Eclipse Process Framework)を2回に分けて紹介します。EPFを用いて開発プロセスを明文化して定義することにより、ほかのプロジェクトでその開発プロセスを再利用したり、開発プロセスのカスタマイズを簡単に行えるようになります。

 前半となる今回は、EPF Composerの基本的な使い方とOpenUP/Basicプロセスコンテンツブラウジングおよびパブリッシングの方法を説明します。

開発プロセスを決めると、こんな「得」をする

 冒頭で開発プロセスとは、プラクティスや開発の段取りを定義するものだと述べましたが、この開発プロセスを決めておくことで、次のような効果があります。

役割の明確化

 お客さまと各開発者の役割が明確でないために、仕様がきちんと決められず、手戻りが発生することがあります。お客さまに提示する成果物や開発者間の役割分担を明確にすることで、各関係者の認識のずれに伴う手戻りを軽減します。

用語の共有

 開発工程、成果物等に関する用語を共有することで、事例ガイドラインをプロジェクト横断的に容易に活用できます。

作業の流れの明確化

 開発を進めていくうえで、各開発者がやるべき作業が明確になります。作業の流れを定義しておけば、ある作業が終了した後に次に何をするべきか悩まなくて済みますし、また、作業中の前後の作業を意識しながら開発できるため、スムーズに開発を進められます。

ベストプラクティスの共有

 成功したシステム開発におけるプラクティスを開発プロセスに取り入れ明文化していけば、システム開発成功の秘訣を共有できるようになります。

開発プロセスを基礎から理解しよう!

 開発プロセスで規定する内容はプロジェクトごとに異なりますが、さまざまな開発プロセスに共通する要素があります。ここでは最低限必要となる用語を説明します。

開発プロセスの基本的な構成要素

  • 役割ロール
    プロジェクト関係者の役割。お客さまプロジェクトマネージャ業務分析者アーキテクトなど。
  • 成果物
    お客さまへ納品する納品物および、それらの中間成果物。業務フローユースケース記述画面設計書など
  • タスク
    個々の成果物を作成するための作業内容。各タスクには、参照される成果物と作成される成果物が定義される
図1 開発プロセスの基本的な構成要素(ロール、成果物、タスク) 図1 開発プロセスの基本的な構成要素(ロール、成果物、タスク)

ソフトウェアライフサイクル

 ソフトウェアライフサイクルとは、ソフトウェア開発に関する検討を始めてから納品までの流れのことです。ここではウォーターフォール型ライフサイクル反復型ライフサイクルの2つを紹介します。

■ウォーターフォール型ライフサイクル

 ウォーターフォール型ライフサイクルは、開発の作業を複数の工程に分けて、お客さまからの要求を段階的に詳細化し、その後で実装および試験テスト)を行います。開発途中での仕様変更のリスクが低い場合に、有効なソフトウェアライフサイクルです。例を以下の図に示します。

図2 ウォーターフォール型ライフサイクルの基本的な構成要素 図2 ウォーターフォール型ライフサイクルの基本的な構成要素

■反復型ライフサイクル

 実装する前にすべての仕様を決定することが困難な場合や、技術的な難易度の高いシステムの開発では、システム全体のすべての要求を一度に聞いて、それらを設計、実装するのは困難です。このような場合には、要求の一部を分析し、それを設計、実装、試験するというサイクルを段階的に繰り返していきます。アジャイル開発手法では、反復型ライフサイクルを推奨しています。

図3 反復型ライフサイクル 図3 反復型ライフサイクル

ガイドライン(プラクティス)

 開発プロセスで定義されるタスクを実際に行ううえでは、経験的に得られたノウハウを整理したガイドラインが有用です。XPのペアプログラミングなどはガイドラインの典型例です。

 そのほかにも、以下のようなガイドラインがあります。

  • ユースケース分析タスクにおいて、適切な粒度のユースケースを抽出するためのガイドライン
  • 単体試験タスクにおいて、XUnitの効果的な利用方法を解説したガイドライン

EPFプラグインとは何か?

 EPFは、Eclipseをベースとした開発プロセスのオーサリング環境です。具体的には、開発プロセスを定義するEPF Composerと開発プロセスのコンテンツが含まれています。

EPF Composer

 EPF Composerは、開発プロセスを定義し、HTMLパブリッシングをするツールです。本ツールには、後述するOpenUP/Basicプロセスコンテンツが含まれています。OpenUP/Basicをカスタマイズして独自プロセスを作成したり、新たなプロセスを0から作成することも可能です。次に紹介する、XPやScrumのコンテンツもカスタマイズして利用できます。

プロセスコンテンツ

 EPFで利用可能なプロセスコンテンツをEclipseのWebサイトからダウンロードできます。ダウンロード可能なコンテンツ一覧を表1に示します。

表1 EPFで公開されているプロセスコンテンツ
コンテンツ 概要
OpenUP/Basic RUP(Rational Unified Process)のサブセットとして構成されたアジャイル開発プロセス
http://www.eclipse.org/epf/general/OpenUP_Basic.pdf
XP Kent Beckらによって提唱されている開発プロセスで、プログラマ主体の開発プロセス
http://www.extremeprogramming.org/
Scrum アジャイル開発プロセスの中でも特にプロジェクト管理に重点を置いた開発プロセス
http://www.controlchaos.com/

編集部注RUPについて詳しく知りたい読者は、@IT情報マネジメント用語辞典の[RUP (Rational Unified Process)]、XPについては、[エクストリーム・プログラミング]をご参照ください

EPF Composerをセットアップしよう!

 さて、Eclipse Process Frameworkの概要が分かったところで、開発プロセスを定義するEPF Composerをインストールし、動かしてみましょう。

入手方法

 EPFのダウンロードサイトからEPF Composerをダウンロードします。本稿執筆時点の最新版(1.0.2 Release)では、JRE 5が必要となっています。以後はJRE 5がインストールされていることを前提に説明します。

設定方法

  1. ダウンロードしたZIPファイルを展開します。
  2. 1で展開したディレクトリの中にあるepf-composer-win32.win32.x86.zipをさらに展開します。
  3. 2で展開したディレクトリの中にあるepf-composerディレクトリに移動し、その中のepf.exeを実行します。
図4 初期起動画面 図4 初期起動画面
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。