システム開発の世界には「デスマーチ」というなんとも恐ろしい言葉があります。プロジェクトに火が付き、終わりが見えない過酷な状態をそう呼びます。多くの場合、デスマーチを引き起こしているのは、タスクが目に見えていないために、やみくもに人を投入し、限界まで出来るだけのことをやろうとしてしまうこと、だと思います。そう「やるべきこと」を明らかにしないことが原因です。
チケット駆動開発は、見えないタスクの問題を解決する糸口になります。
チケット駆動開発は、もともとはソフトウェア開発におけるバグ管理のタスクをチケットという単位で管理していたことを応用した手法になります。プロジェクトにおけるすべての作業を、チケットという単位で管理を行い、そのチケットを消化していくことで開発を進めていきます。
こうすることで、作業漏れやどういった進捗状況であるのかをすぐに共有することができるようになります。“No ticket! No commit”という言葉もあり、チケットにないプログラムの改修はコミットしてはいけない、というシンプルなルールがあります。
では、そのチケット駆動開発において、仕事を表すチケットはどのように管理するのか。昔ながらのプロジェクトの場合、多くはExcelを使っているかもしれません。しかし、それでは片手落ちです。チケット駆動開発の本当の良さを発揮することができません。チケットを誰でもすぐに見える形で共有するからこそ価値があるのです。
チケット駆動開発において、チケット管理に向いているのは、tracやJira、Redmineなどのバグ管理システム(BTS)や課題管理システム(ITS)と呼ばれる製品です。こうしたワークフローを備えたツールを使うことで、効率的なチケット管理ができます。
そのチケット駆動開発とRedmineに関する書籍「Redmineによるタスクマネジメント実践技法」(小川 明彦さん、阪井 誠さん)がついに出版されました。本書では、BTS/ITSにRedmineを用いることで、チケット駆動開発を実現する方法を紹介しています。
テスト駆動開発という自動テストのソースコードから順にプログラムを作っていく手法では、JavaならJUnitといったようにツールの助けがなければ実践することができません。チケット駆動開発も、そのやり方に沿ったツールを使う必要があります。ただの表であるExcelでは不可能です。
本書を読むことで、チケット駆動開発とRedmineについて同時に学ぶことが出来ます。まずチケット駆動開発について理解してから始めたい人も、まずは動かして触ってみたいという人まで、多様なニーズに応えた本になっています。
まだExcelで管理していて不便に感じている、タスクが共有できずにプロジェクトが混乱している、もしそういった課題をもっているのなら、まずはこの本から始めて見るのも良いかもしれません。
“No ticket. No commit.”