チケット駆動開発

チケット駆動開発 (ticket-driven development; TiDD) とは、プログラム開発手法の一種で、作業をタスクに分割しBTS（Bug Tracking System／バグ管理システム）のチケットに割り当てて管理を行う開発スタイル。細かな修正作業の多い従来開発の中で生まれたが、アジャイル開発との親和性が高いことから、エクストリーム・プログラミングをはじめとするアジャイル開発でも実践されている。
はじまり.
チケット駆動開発が提案された2007年ころはソフトウェア開発環境が充実し、Subversion、trac、ウィキを活用したプロジェクト運営が注目されていた。そのような中で、たくさんの細かな修正を効率よく行う方法として「チケット駆動開発」が現場から生まれた。
チケット駆動開発は、まちゅ氏のITpro Challenge のライトニングトーク「もうひとつのTDD開発」の中で発表された。この中で、チケット駆動開発はBTS（バグ管理システム）のひとつであるtracのチケットを以下のように用いるとした。
その後、Shibuya.tracではtracユーザによる実践が、TiDD関西勉強会、XPJUG関西ではアジャイル開発での実践が行われるなど、多くの実践が行われるようになった。
大阪中央公会堂で行われたTiDD関西勉強会にて、「TDDと同じ略称だと紛らわしいので、TiDDにしよう」で決まった。iが小文字なのは、おしゃれだからである。
ルール.
上述のようにチケット駆動開発はBTSを中心にツールを統合し、チケットで作業の管理と見える化を実現するものである。チケット駆動開発を実践する上でのルールは基本的に1つである。
個人的な管理ではなく、構成管理上のコミットをしないということである。このルールによって開発メンバーの仕事が把握しやすくなるだけでなく、成果物の更新が必ずチケットと関連付くので変更理由が明確になる、というチケット駆動開発のメリットが生まれる。
開発サイクル.
チケット駆動開発では、概ね次のようなPDCAサイクルを繰り返して開発が行われる。