« Redmine のsubtaskingを使った画面part2 | トップページ | 【公開】第13回すくすくスクラムIN大阪~スクラムを体感しよう第一弾~ »

2010/04/03

Agile2.0は何を解決しようとしているのか?

Agile2.0について再考してみる。

【元ネタ】
第二期アジャイルムーブメント ~ アジャイル開発の商業的取り組み と Agile2.0 ないし 「2週目の世界」 について - kawaguti の日記 (id:wayaguchi)

XPが登場してアジャイル開発の利点は数多く知られてきた。
そして、多くの人達がアジャイル開発を現場で実践してきた。
しかし、アジャイル開発の弱点でよく言われるのは「アジャイル開発は大規模プロジェクトに適用しにくい。スケールアップが難しい」というもの。
実際、素のままのアジャイル開発では、サブチームが2個以上になると途端に難しくなるように思う。
又、その運用ノウハウも公開されていない。

そんな中、昨今は「2週目のアジャイル」「Agile2.0」と呼ばれる動きがあり、アジャイル開発が復権した流れが起きている。
僕の理解では2つの流れがある。
一つは、Scrumやリーンソフトウェア開発など、プロセス面からアジャイル開発を補強しようとする流れ。
もう一つは、Wikiや高機能化したITS、分散バージョン管理などのツール面でアジャイル開発を補強しようとする流れ。
当然、チケット駆動開発も後者の流れの一つにある。

前者では、Scrumの影響が大きい。
一言で言えば、ScrumはXPの計画ゲームをきちんとしたプロセスで表現したもの。
Scrumが導入した概念やプロセスによって、大人数のチームでも規律のあるアジャイル開発に取り組むことができる。
でも、Scrumがアジャイル開発に大きな影響をもたらした点は、イテレーション計画の作り方に一工夫がいるよ、という指摘にあると思う。
アジャイル開発を大規模プロジェクトでも適用しようとするには、イテレーション計画やリリース計画の作り方、そしてその運用に一工夫がいる。
Scrumの書籍はいくつか出ているけれど、それに関する内容はないので残念。

後者は、ツールが構成管理だけでなくプロジェクト管理やビルド管理など、ソフトウェア開発に関わる手作業の部分を自動化してくれる点に利点がある。
チケット駆動開発は、高機能なITSをアジャイル開発のプロジェクト管理に使おうという発想から生まれた。
最初は単純に、チケットをXPのタスクカードのように扱うことで、アジャイル開発のタスク管理を補完するだけだった。
けれど、チケット集計出力機能を強化すれば、チケット駆動開発はプロジェクト管理全般をサポートできる。
チケット駆動開発はプロジェクト管理を効率化するだけでなく、現場リーダーの意思決定支援システムを目指している。
その意味には、たくさんの可能性が秘められているように思う。

チケット駆動開発も元々は5人ぐらいの少人数チームで有用だけれど、大規模プロジェクトではなかなか運用ノウハウがないのが実情。
しかし、Redmineがエンタープライズ系機能を強化している方向を見ると、大規模プロジェクトでも適用できるような仕掛けが隠されている。
例えば、無制限の階層構造を持つ複数プロジェクト機能、バージョンの継承機能、チケットに親子関係をもたらす機能などだ。
大規模プロジェクトにおけるサブチームの編成、サブチームごとのイテレーション計画の編成に、Redmineの新機能を上手く当てはめれば、大規模プロジェクトでもチケット駆動開発を運用できるだろう。
そうすれば、チケット駆動開発の最大の利点である強力なチケット集計機能を最大限に生かすことができるだろう。

僕が見るに、Agile2.0は初期のアジャイル開発で克服できなかった問題「アジャイル開発のスケールアップ」を解決する方向へ進化しているように思える。
このテーマについてもっと考えてみたいと思う。

【追記】
かおるんさんのBlogで「『Agility@Scale(アジャイル開発のスケールアップ)のポイント』@玉川さん」の紹介記事があり、みんな同じようなことを考えているんだろうな、と思う。

Tech Fielders セミナー東京[Agile Day 2]でLTしてきました #msagile - かおるんダイアリー

|

« Redmine のsubtaskingを使った画面part2 | トップページ | 【公開】第13回すくすくスクラムIN大阪~スクラムを体感しよう第一弾~ »

ソフトウェア工学」カテゴリの記事

チケット駆動開発」カテゴリの記事

Agile」カテゴリの記事

コメント

いつも楽しく拝見させていただいております。
思わず反応してしまったのですが

>僕の理解では2つの流れがある。

これは私も感じました。

たまたま、自分はアジャイル開発に興味を持っていたのと、
Redmineのような開発を支えるツールが大好きというのがあり、
それらを自社にうまく展開できないかと考えたところ、
プロセスの変化に対する抵抗は予想外に大きく、
広めるのは難しいと気がつきました。

そこで、並行してRedmineのようなツールで、
業務プロセスの改善を展開したところ、
おそらくすぐに動くモノを見せることができるので、
みんな飛びついてくる。
想像力を働かせ活用してくれる人も現れる。

私はこの経験上、いろんな方向からアプローチする必要がある
なーと思いました。

投稿: daipresents | 2010/04/05 00:30

コメントを書く



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


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



トラックバック


この記事へのトラックバック一覧です: Agile2.0は何を解決しようとしているのか?:

« Redmine のsubtaskingを使った画面part2 | トップページ | 【公開】第13回すくすくスクラムIN大阪~スクラムを体感しよう第一弾~ »