« Naoyaさんのトークセッション | トップページ | 日本のECサイトBEST1000 »

2008/08/25

チケット駆動開発の背景

下記の記事を読んで、チケット駆動開発が出てきた背景について考えたことをメモ。

【元ネタ】
TRICHORDの背景

TRICHORDの背景 - (1) 何故スケジュール管理が難しくなっているのか

◆ 大火事プロジェクトで自己組織化を促すために具体的にやったこと

チケット駆動開発は、プロジェクトで発生した作業をチケットで管理し、バージョン単位にチケットをグループ化して小刻みにリリースしていくスタイル。
最近は、TracやRedmineのようなプロジェクト管理機能を持つBTSで運用することが多いだろう。

最近のビジネスの観点では、ITが業務のインフラとなっていて、機能がどんどん進化するのが前提になっている。
ビジネスの速さをシステム開発に応用しようとして、開発の現場が混乱しているようにも思える。

特に昨今のWebシステム開発は、数週間おきに小刻みにバージョンアップしていくのが普通。
開発者からすると、永遠に納品し続ける感覚に陥るぐらい、大変忙しい。

だから、ウォーターフォール型開発だとビジネスの速さについていけないから、インクリメンタルな開発、アジャイル開発が10年も前から唱えられた。
にもかかわらず、アジャイル開発の実践は難しい。
理由は、プロジェクト管理が難しいからだと思う。

デスマーチプロジェクトでは、その難しさがはっきり出てくるように思う。
例えば、下記のような現象が起きているだろう。

1-1.プロジェクト内部で発生する作業の状態、進捗が、メンバーだけでなくマネージャも分からない。
 それを知る手段もない。

1-2.各人が担当している作業をマネージャは把握できていない。
 デスマーチプロジェクトほど、担当作業は1日毎に変わる。

1-3.各人のタスクが溢れているため、メンバーのモチベーションも落ちている。

◆ 大火事プロジェクトで自己組織化を促すために具体的にやったこと」の記事では、デスマーチプロジェクト建て直しの対策が書かれているが、それらは全て「プロジェクトの見える化」だ。

そして「プロジェクトの見える化」を行う基盤が、RedmineやTracのようなプロジェクト管理機能を持つBTSなのだ。
アジャイル開発は、BTSのようなインフラがなければ、進捗をリアルタイムに管理するのは非常に難しいはずだ。

BTSでチケット駆動開発を実施した場合、上記の現象に対して次のようになるだろう。

2-1.バージョンごとにチケットの状態、進捗をBTSで確認できる。
 マネージャだけでなく、メンバーも誰でも閲覧できる。

2-2.割り込みタスクはチケットに起票されて、BTSで定められたワークフローによって作業が進む。
 特にバグ修正のように、複数の担当者を行き来する作業は、メールやRSSで担当者へ自動通知される。

2-3.特にRedmineでは、ガントチャート・カレンダー・ロードマップ・統計などのチケット集計結果から、開発者は自分は何をこなせばよいか、自然に分かるから、自発的に行動できる。
 「プロジェクトの見える化」は、開発者のモチベーション向上に自然に役立つ。
 
最後の点が、BTS+チケット駆動開発による「プロジェクトの見える化」がメンバーのモチベーションに大きく与える影響だと思う。

人間は、問題が何かを把握できる環境にいれば、必ず自力で解決しようとするものだと思う。
ファシリテーションで言われる「解けない問題を解ける問題に変換すると、人は自然に問題を解こうとする」という言葉を思い出させる。

|

« Naoyaさんのトークセッション | トップページ | 日本のECサイトBEST1000 »

プロジェクトマネジメント」カテゴリの記事

Redmine」カテゴリの記事

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

コメント

コメントを書く



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


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



トラックバック


この記事へのトラックバック一覧です: チケット駆動開発の背景:

« Naoyaさんのトークセッション | トップページ | 日本のECサイトBEST1000 »