[TiDD] チケット駆動開発とXPの共通点
あきぴーさんがチケット駆動開発(TiDD)をXP(eXtreme Programming)に適用された結果を元に、共著で論文を書いて外部発表をしています(SPES、SQiP)。これらは、アジャイル開発を改善するためにTiDDを適用した論文ですが、なぜそのようなことが可能なのかを考えてみました。
実はチケット駆動開発とXPには共通点があります。それはXPの4つの価値です。それは、
- コミュニケーション
- シンプルさ
- フィードバック
- 勇気
です。この4つの価値がXPのプラクティスに影響を与えています。
TiDDの効果を考えると、このうち2つの価値を支援することがわかります。そもそもの提案者である、まちゅさんによるとTiDDの効果の一つは「開発メンバの仕事が把握しやすくなる」というものです。
全てのソース更新作業がチケットと関連付けられることで、どのような作業が残っているか、プロジェクト内で明確になります。これは、TiDDがプロジェクト内のコミュニケーションを改善するということです。
さらに、まちゅさんはもう一つの効果として「ソースコードのコミット単位が明確になる」とされています。これは、チケットなしのコミットを許さないことから来るもので、開発作業をシンプルにしたことによる効果です。
この二つの価値に対してXPでは、作業をタスクカードに割り当てるというシンプルなルールをつくり、そのタスクカードをタスクボードという掲示板に貼ることでプロジェクト内で情報を共有してコミュニケーションの向上を図っています(もちろん共同のプラクティスもコミュニケーションに重要です)。
ちなみに、フィードバックというのは、繰り返し(イテレーティブ)開発などによって、補正(フィードバック)をしつつ開発することができます。また、勇気というのは積極的な開発プラクティスの実施や担当作業のコミットメントなどによって実現されます。
このように考えるとTiDDはXPと矛盾しないだけでなく方向性が共通しています。繰り返し開発や開発プラクティスを導入すれば立派なアジャイル開発になりそうです。実際にXPJUG関西のTiDDの議論の中では「TiDDによってリズム感が生まれてアジャイルがわかった」という感想さえ出ていました。現実の現場では実現しにくかったXPが、より効果的に実現できるようになる、そんなパワーがTiDDにはあるようです。
| 固定リンク











コメント
オープンソースソフトウェアの開発では、TiDDみたいなことはずいぶん昔から普通に行われてましたけどね。僕のプロジェクトでも2003年に立ち上げたときから、BTSにエントリのないコミットはしない原則を掲げてましたし。
投稿: ふじえだ | 2009年7月26日 (日) 18時48分
コメントありがとうございます。
オープンソースでなくとも、保守工程ではひとまず登録するという形では似たようなことは古くから行われていたと思います。でも、それを一つの方法論として提唱すると新しい議論を始められると思います。また、アジャイルと関連付けると、さらに議論ができるのではと考えています。
似たようなお話で、コードリーディングという言葉が出てきたときに、UNIXでは普通だと思っていましたが、それから研究が進んだりしましたので、既にあるようなことでも新しい概念として議論することは大切だと思います。
投稿: さかば(管理人) | 2009年7月26日 (日) 19時51分