XP(Extreme Programming)に代表されるアジャイル開発手法では、さまざまなプラクティスが提案されており、それらに興味を持っている方は大勢いると思います。実際の開発プロジェクトでは、参画するメンバのスキルによって、数多くのプラクティスから適切なものを選択する必要があります。
また、オフショア開発などプロジェクト特有の制約事項によって、一般的なやり方とは異なる手順で開発を進める場合もあります。利用するプラクティスや開発の段取りを定義するのが、開発プロセスです。
今回は、開発プロセスをEclipseベースで定義するためのプラグインEPF(Eclipse Process Framework)を2回に分けて紹介します。EPFを用いて開発プロセスを明文化して定義することにより、ほかのプロジェクトでその開発プロセスを再利用したり、開発プロセスのカスタマイズを簡単に行えるようになります。
前半となる今回は、EPF Composerの基本的な使い方とOpenUP/Basicプロセスコンテンツのブラウジングおよびパブリッシングの方法を説明します。
冒頭で開発プロセスとは、プラクティスや開発の段取りを定義するものだと述べましたが、この開発プロセスを決めておくことで、次のような効果があります。
お客さまと各開発者の役割が明確でないために、仕様がきちんと決められず、手戻りが発生することがあります。お客さまに提示する成果物や開発者間の役割分担を明確にすることで、各関係者の認識のずれに伴う手戻りを軽減します。
開発工程、成果物等に関する用語を共有することで、事例やガイドラインをプロジェクト横断的に容易に活用できます。
開発を進めていくうえで、各開発者がやるべき作業が明確になります。作業の流れを定義しておけば、ある作業が終了した後に次に何をするべきか悩まなくて済みますし、また、作業中の前後の作業を意識しながら開発できるため、スムーズに開発を進められます。
成功したシステム開発におけるプラクティスを開発プロセスに取り入れ明文化していけば、システム開発成功の秘訣を共有できるようになります。
開発プロセスで規定する内容はプロジェクトごとに異なりますが、さまざまな開発プロセスに共通する要素があります。ここでは最低限必要となる用語を説明します。
ソフトウェアライフサイクルとは、ソフトウェア開発に関する検討を始めてから納品までの流れのことです。ここではウォーターフォール型ライフサイクルと反復型ライフサイクルの2つを紹介します。
■ウォーターフォール型ライフサイクル
ウォーターフォール型ライフサイクルは、開発の作業を複数の工程に分けて、お客さまからの要求を段階的に詳細化し、その後で実装および試験(テスト)を行います。開発途中での仕様変更のリスクが低い場合に、有効なソフトウェアライフサイクルです。例を以下の図に示します。
■反復型ライフサイクル
実装する前にすべての仕様を決定することが困難な場合や、技術的な難易度の高いシステムの開発では、システム全体のすべての要求を一度に聞いて、それらを設計、実装するのは困難です。このような場合には、要求の一部を分析し、それを設計、実装、試験するというサイクルを段階的に繰り返していきます。アジャイル開発手法では、反復型ライフサイクルを推奨しています。
開発プロセスで定義されるタスクを実際に行ううえでは、経験的に得られたノウハウを整理したガイドラインが有用です。XPのペアプログラミングなどはガイドラインの典型例です。
そのほかにも、以下のようなガイドラインがあります。
EPFは、Eclipseをベースとした開発プロセスのオーサリング環境です。具体的には、開発プロセスを定義する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/ |
さて、Eclipse Process Frameworkの概要が分かったところで、開発プロセスを定義するEPF Composerをインストールし、動かしてみましょう。
EPFのダウンロードサイトからEPF Composerをダウンロードします。本稿執筆時点の最新版(1.0.2 Release)では、JRE 5が必要となっています。以後はJRE 5がインストールされていることを前提に説明します。
Copyright © ITmedia, Inc. All Rights Reserved.