アート・オブ・アジャイル デベロップメントでは、数々のXPプラクティスを以下の5カテゴリに分類しています。
- 考えること
- 協力すること
- リリースすること
- 計画すること
- 開発すること
また、アジャイル開発においては、1イテレーション内で以下のプロセスを同時に進行します。
- 計画づくり
- 分析
- 設計とコーディング
- テスティング
- 導入
各プロセスでどのようなプラクティスを実行すればいいのかは、以下の表を見ればわかります。
アート・オブ・アジャイル デベロップメントでは、数々のXPプラクティスを以下の5カテゴリに分類しています。
また、アジャイル開発においては、1イテレーション内で以下のプロセスを同時に進行します。
各プロセスでどのようなプラクティスを実行すればいいのかは、以下の表を見ればわかります。
アート・オブ・アジャイル デベロップメントの中身を実践するにあたり、XPのチームの組み方と、イテレーション毎にやることをまとめました。
| ロール名 | 人数 | 備考 |
|---|---|---|
| オンサイト顧客、顧客 | 1-2 | オンサイト顧客1 + プロダクトマネージャー1が理想 |
| プログラマー | 4-10 | ペアプロのため、偶数が望ましい |
| テスター | 0- | いない場合、顧客かPGで代用 |
| プログラマコーチ | 0- | |
| プロジェクトマネージャー | 0- | 顧客が兼務することがある |
| メンター | 0- | |
| ステークホルダー | 0- | |
| エグゼクティブスポンサー | 0- |
XAMPP 1.7.4でPhingを使おうとしましたが、エラーが出て使えませんでした。 結果として、Phingの再インストールで治りました。
以下に経緯を残しておきます。
下記のように、ただ”uhouho”とechoするだけの簡単なビルドファイルを実行しようとして、エラーが出ました。
<!-- C:\temp\build.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<project name="FooBar" default="dist">
<target name="dist">
<echo msg="uhouho"></echo>
</target>
</project>
実行結果
$ phing -f C:\temp\build.xml Buildfile: C:\temp\build.xml BUILD FAILED Can't load default task list Total time: 0.0030 seconds
また、バージョン表示でもエラーが出ました。
$ phing -v No VERSION.TXT file found; try setting phing.home environment variable.
Setting up your workstation for extension development – Joomla! Documentation > No VERSION.TXT Error を参考に、Phingを再インストールしました。
# アンインストール $ pear uninstall phing/phing uninstall ok: channel://pear.phing.info/phing-2.3.3 # チャンネルの設定 $ pear channel-discover pear.phing.info Channel "pear.phing.info" is already initialized # インストール $ pear install phing/phing WARNING: "pear/PEAR_PackageFileManager" is deprecated in favor of "pear/PEAR_PackageFileManager2" Did not download optional dependencies: phing/phingdocs, pear/VersionControl_Git, phpunit/PHPUnit, pecl/Xdebug, pear/Services_Amazon_S3, pear/HTTP_Request2, channel://pear.pdepend.org/PHP_Depend, channel://pear.phpmd.org/PHP_PMD, phpunit/phpcpd, channel://pear.docblox-project.org/DocBlox, pear/PHP_CodeSniffer, use --alldeps to download automatically phing/phing requires PEAR Installer (version >= 1.8.0), installed version is 1.7.2 phing/phing can optionally use package "phing/phingdocs" (version >= 2.4.7.1) phing/phing requires package "pear/VersionControl_SVN" (version >= 0.3.4), installed version is 0.3.1 phing/phing can optionally use package "pear/VersionControl_Git" (version >= 0.4.3) phing/phing can optionally use package "phpunit/PHPUnit" (version >= 3.4.0) phing/phing can optionally use package "pecl/Xdebug" (version >= 2.0.5) phing/phing can optionally use package "pear/Services_Amazon_S3" (version >= 0.3.1) phing/phing can optionally use package "pear/HTTP_Request2" (version >= 0.5.2) phing/phing can optionally use package "channel://pear.pdepend.org/PHP_Depend" (version >= 0.10.0) phing/phing can optionally use package "channel://pear.phpmd.org/PHP_PMD" (version >= 1.1.0) phing/phing can optionally use package "phpunit/phpcpd" (version >= 1.3.2) phing/phing can optionally use package "channel://pear.docblox-project.org/DocBlox" (version >= 0.11.0) phing/phing can optionally use package "pear/PHP_CodeSniffer" (version >= 1.3.0) No valid packages found install failed # ↑では依存性のエラーでインストールできなかったので、--alldepsオプションを付けてやり直す $ pear install --alldeps phing/phing Failed to download pear/VersionControl_SVN within preferred state "stable", latest release is version 0.3.4, stability "alpha", use "channel://pear.php.net/VersionControl_SVN-0.3.4" to install Failed to download pear/VersionControl_Git within preferred state "stable", latest release is version 0.4.4, stability "alpha", use "channel://pear.php.net/VersionControl_Git-0.4.4" to install WARNING: "pear/PEAR_PackageFileManager" is deprecated in favor of "pear/PEAR_PackageFileManager2" Failed to download pear/Services_Amazon_S3 within preferred state "stable", latest release is version 0.3.5, stability "alpha", use "channel://pear.php.net/Services_Amazon_S3-0.3.5" to install Failed to download pear/HTTP_Request2 within preferred state "stable", latest release is version 2.0.0RC2, stability "beta", use "channel://pear.php.net/HTTP_Request2-2.0.0RC2" to install phing/phing requires PEAR Installer (version >= 1.8.0), installed version is 1.7.2 phing/phing requires package "pear/VersionControl_SVN" (version >= 0.3.4), installed version is 0.3.1 phing/phing can optionally use package "pear/VersionControl_Git" (version >= 0.4.3) phing/phing can optionally use package "pear/Services_Amazon_S3" (version >= 0.3.1) phing/phing can optionally use package "pear/HTTP_Request2" (version >= 0.5.2) phing/phing can optionally use package "channel://pear.pdepend.org/PHP_Depend" (version >= 0.10.0) phing/phing can optionally use package "channel://pear.phpmd.org/PHP_PMD" (version >= 1.1.0) phing/phing can optionally use package "channel://pear.docblox-project.org/DocBlox" (version >= 0.11.0) phing/phingdocs requires PEAR Installer (version >= 1.8.0), installed version is 1.7.2 phpunit/PHPUnit requires PEAR Installer (version >= 1.9.3), installed version is 1.7.2 phpunit/PHPUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2) phpunit/PHPUnit can optionally use PHP extension "curl" phpunit/PHPUnit can optionally use PHP extension "dbus" phpunit/phpcpd requires PEAR Installer (version >= 1.9.0), installed version is 1.7.2 phpunit/phpcpd requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) phpunit/DbUnit requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2 phpunit/DbUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2) phpunit/File_Iterator requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2 phpunit/Text_Template requires PEAR Installer (version >= 1.8.1), installed version is 1.7.2 phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2 phpunit/PHP_CodeCoverage requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) phpunit/PHP_CodeCoverage requires package "phpunit/File_Iterator" (version >= 1.2.2) phpunit/PHP_CodeCoverage requires package "phpunit/Text_Template" (version >= 1.0.0) phpunit/PHP_Timer requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2 phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2 phpunit/PHPUnit_MockObject requires package "phpunit/Text_Template" (version >= 1.0.0) phpunit/PHPUnit_Selenium requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2 phpunit/PHP_TokenStream requires PEAR Installer (version >= 1.9.1), installed version is 1.7.2 phpunit/PHP_TokenStream requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) downloading xdebug-2.1.2.tgz ... Starting to download xdebug-2.1.2.tgz (304,229 bytes) ..............................................................done: 304,229 bytes downloading PHP_CodeSniffer-1.3.0.tgz ... Starting to download PHP_CodeSniffer-1.3.0.tgz (327,201 bytes) ...done: 327,201 bytes 66 source files, building ERROR: The DSP xdebug.dsp does not exist. ERROR: unable to unpack C:\DOCUME~1\SCI01310\LOCALS~1\Temp\pear\download\PHP_CodeSniffer-1.3.0.tgz # またよくわからないエラーで失敗。 # Googleで検索しても「XAMPPのせい」と一蹴されていたので、依存性を無視してインストールする。 $ pear install -n phing/phing warning: phing/phing requires package "pear/VersionControl_SVN" (version >= 0.3.4), installed version is 0.3.1 phing/phing can optionally use package "pear/VersionControl_Git" (version >= 0.4.3) phing/phing can optionally use package "phpunit/PHPUnit" (version >= 3.4.0) phing/phing can optionally use package "pecl/Xdebug" (version >= 2.0.5) phing/phing can optionally use package "pear/Services_Amazon_S3" (version >= 0.3.1) phing/phing can optionally use package "pear/HTTP_Request2" (version >= 0.5.2) phing/phing can optionally use package "phpunit/phpcpd" (version >= 1.3.2) phing/phing can optionally use package "docblox/DocBlox" (version >= 0.11.0) downloading phing-2.4.7.1.tgz ... Starting to download phing-2.4.7.1.tgz (421,828 bytes) .....................................................................................done: 421,828 bytes install ok: channel://pear.phing.info/phing-2.4.7.1
ようやくインストールできました。
バージョンが表示できるか確認します。
$ phing -v Phing 2.4.7.1
バージョン表示はOK。 ビルドはどうでしょうか?
$ phing -f C:\temp\build.xml ** ERROR ***************************************************************** * Sorry, can't find the php.exe file. * You must edit this file (C:\xampp\php\phing.bat) to point to your php.exe (CLI) * [Currently set to .\php.exe] **************************************************************************
Phingの再インストールで php.exe が見つけられなくなってしまったようです。 c:\xampp\php\phing.bat を編集し、「SET phpCli」の行を以下のように編集します。
SET phpCli=C:\xampp\php\phing.bat
これでリトライ。
$ phing -f C:\temp\build.xml
Buildfile: C:\temp\build.xml
FooBar > dist:
[echo] uhouho
BUILD FINISHED
Total time: 0.5076 seconds
無事動きました。
アジャイル開発のスキルを少しずつ磨いています。そろそろ継続的インテグレーションを試してみようと思い、XAMPP環境にJenkinsをインストールしてみました。
本当に、setup.exeを動かすだけで済みました。
Welcome to Jenkins CI! | Jenkins CIからWindows版のパッケージをダウンロード。 執筆時点(2011/10/06時点)では jenkins-1.433.zip。
ダウンロード後、解凍してsetup.exeを実行してインストール。 インストール先はデフォルトの “C:\Program Files\Jenkins” とします。
インストール完了後、勝手にブラウザが立ち上がって http://localhost:8080 にアクセスしますが、Jenkinsのロードが完了するまではエラーが出るようです。 時間をおいてリロードすれば、トップ画面が表示されるはずです。
Windowsインストーラーは頻繁にアップデートされているようで、半年前のインストール方法より簡単になっているようです。 最初、古いインストール記事を見ながらApacheとjenkins.xmlの設定をやったら起動せず、途方に暮れました。
最近のコメント