« 電子書籍の作り方part3 | トップページ | 障害管理の泥沼から脱出するには »

2010/05/31

Agile2.0時代のAgile開発が目指す方向を示唆する書籍

Agile2.0時代のAgile開発が目指す方向を示唆する書籍を2冊あげておく。
アジャイル開発の本質とスケールアップ 変化に強い大規模開発を成功させる14のベストプラクティス」と「実践アジャイルテスト テスターとアジャイルチームのための実践ガイド」の2冊は、今後Agile開発を実践しようとする開発者にとって必須の書籍だと思う。

初期のAgile開発は、XPのように少人数のチームが小規模案件でAgilityを活かして開発するスタイルが主流だった。
それらの開発スタイルから、XPの優れたプラクティスであるテスト駆動開発、継続的インテグレーション、小規模リリースなどが発見された。
しかし、初期のAgile開発では、その事例の規模が小さいために、「アジャイル開発はスケールアップが難しい」「アーキテクチャや品質の作り込みの考慮が足りない」などの弱点を指摘され続けてきた。

Agile2.0時代のAgile開発は、初期のAgile開発の弱点であったスケールアップやテスト工程にフォーカスを当てているように思う。
アジャイル開発の本質とスケールアップ 変化に強い大規模開発を成功させる14のベストプラクティス」では、スケールアップのための14のプラクティスが提示されている。
僕がそれらのプラクティスの中で最も重要と思うものは、アジャイルリリーストレインとスクラムオブスクラム。
この2種類のプラクティスを自分たちのプロジェクトで運用できなければ、大規模プロジェクトを制御できるわけがないと思う。

更に、大規模プロジェクトの難易度が更に高いのは、開発チームが物理的にも心理的にも分散しているからだと思う。オフショア開発の例だけでなく、同じビルでもフロアが違えば物理的には廊下だけしか離れていなくても分散している。その分、開発チームのコミュニケーションのコストは急激に上がり、それがリスクになる。
その点に関しては、単にコミュニケーション重視、人間重視と叫んでも何も解決できたわけではないと思う。
何らかの抜本的な解決方法が必要だろう。

実践アジャイルテスト テスターとアジャイルチームのための実践ガイド」では、アジャイルテストの4象限が素晴らしい。
XPは確かにテスト駆動開発、継続的インテグレーションなどの優れたプラクティスを提唱したが、それだけでソフトウェア開発のテストをカバーするわけではない。
受入テストや負荷テストなど、テストの自動化の恩恵が受けにくい範囲のテストもある。
僕はその部分のテストは、TestLinkを有効に使えば解決できると思っている。

更に、Hudsonによる並行ビルドやVMWareによるテスト環境の仮想化という技術も必要だろうと思う。
というのも、受入テストや負荷テストは本番環境に近いテスト環境のために、テスト環境の構築コストやテストの実施工数があまりにも大きすぎるために、初期のAgile開発の技術だけでは不足しているからだ。
例えば、テスト環境をいくらでも複製して、受入テストのテスト実行やビルド作業を並行作業で高速化して初めて解決できると思っている。

すなわち、初期のアジャイル開発は開発工程では確かにAgileだが、本番リリース作業のように本番環境のリリース管理やビルド管理にはそれほど恩恵がないという弱点を持っていたのだ。
その弱点に対する解決の考え方を「実践アジャイルテスト テスターとアジャイルチームのための実践ガイド」は示唆しているように思う。

|

« 電子書籍の作り方part3 | トップページ | 障害管理の泥沼から脱出するには »

Agile」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: Agile2.0時代のAgile開発が目指す方向を示唆する書籍:

« 電子書籍の作り方part3 | トップページ | 障害管理の泥沼から脱出するには »