Agile開発の肝はイテレーションにあり
Redmineでチケット駆動開発を運用するまで、Agile開発を体で理解できていなかった。
XPを実践したいと思っていても、本当のAgile開発は何か違うのでは?と思っていた。
何故、僕はTracではなくRedmineを使ってAgile開発を発見できたのだろうか?
RedmineがAgile開発と相性が良いのは、Redmineの「バージョン」の概念がAgile開発の「イテレーション」「スプリント」と自然に一致するからだ。
Redmineでは、バージョンに紐づくチケットが全て完了ステータスになって、進捗率が全て100%になれば、いつでもそのバージョンをリリースできる仕掛けが入っている。
つまり、バージョンをイテレーションと見なせば、各バージョンを次々にリリースしていけば、自然に小規模リリースを実現できる。
小規模リリースこそが漸進型開発、つまりインクリメンタル型開発の最大の特徴なのだ。
Agile開発は運用しにくい、と思っている人達の原因の殆どは、イテレーションという概念を自分たちのプロジェクトで見つけられてないのだろうと思っている。
僕がTracを初めて運用した時にうまく使いこなせなかったのは、イテレーションをTracの機能で見つけられなかったのが最大の理由だと思う。
だから、Redmineでチケット駆動開発を実践してAgile開発の運用に成功した後、Tracを再び使う事になった時、Tracの機能をもう一度精査し直した。
Tracには、マイルストーンとバージョンという概念がある。
Agile開発のイテレーションと一致するTracの機能は「マイルストーン」だ。
理由は、Tracのロードマップ画面に表示されるのはTracのマイルストーン単位の完了チケット率であり、TracのマイルストーンのライフサイクルはAgile開発のイテレーションと一致するからだ。
実際、Tracでは、マイルストーンの「完了」ステータスを選択すれば、そのマイルストーンはロードマップ画面から消える仕掛けになっている。
つまり、リリースされたので、Tracのマイルストーンは見せる必要がなくなったということ。
Tracの「バージョン」はSVNのタグのような機能に過ぎない。
だから、Tracの「バージョン」はイテレーションにはなりえない。
だから、Tracのマイルストーン単位にタスクをチケットで分類して、小刻みにリリースする開発スタイルになってから、自然にテンポよくプロジェクトの作業が流れるようになった。
Mantisでもイテレーションの概念はある。
Agile開発のイテレーションの概念は、Mantisの「修正済みバージョン」に相当する。
更に、Mantisにも「ロードマップ」「変更履歴」の機能があり、それらはRedmineと同等の機能だ。
実際、Mantisのロードマップは、修正済みバージョン(リリース済み・リリース予定バージョン)ごとにチケットがまとめられていて、変更履歴はリリース済みバージョンのチケットの履歴になっている。
僕は、Redmine、Trac、Mantisを使ってみて、いずれのツールでもチケット駆動開発は可能であり、Agile開発のタスク管理を行うことは可能だと経験したし、確信している。
そして、イテレーションの概念や小規模リリースの利点は、開発チームにリズムが生まれること、そして、そのリズムがプロセス改善を生んでくれることだ。
イテレーション単位にリリースするから、ユーザもいち早くシステムに触ることができるし、開発チーム自身も実際のシステムに触れて、設計漏れや要件漏れにいち早く気づくことができる。
何よりも、定期的にリリースするリズムがあるから、メンバーもそのリズムに合わせるようにタスクを調整するようになる。
そして、リリース後にKPTでふりかえりミーティングを開けば、今回のリリースの良かった点だけでなく反省点を洗い出せるから、次のリリースに向けて、自分たちのプロセスを改善していく雰囲気が生まれる。
定期的なふりかえりによって、自分たちのチームの特徴にあった運用ルールを作りこんでいけばいい。
チケット駆動開発はツールに依存しすぎだ、と言われることもあったが、今は気にしていない。
Agile開発を確実に運用するには、従来のやり方とは違った手法が必要であり、高度なツールを必要とすることを体験できたからだ。
更に、ソフトウェア開発プロセスの基本は結局バグ管理であり、BTSをいかに使いこなすかにかかっているのではないか、と直感している。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 製造業のDXを推進する部門をITコーポレート部門に割り当てるとなぜ失敗するのか(2026.02.04)
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)
- プ譜でプロジェクトの目的を管理する(2026.01.31)
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
「Redmine」カテゴリの記事
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- 第22回 Redmine大阪の感想 #RedmineOsaka(2025.09.21)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
「ソフトウェア工学」カテゴリの記事
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- チームトポロジーの感想~大規模アジャイル開発でも組織構造は大きく変化する(2025.01.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
「チケット駆動開発」カテゴリの記事
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
「Agile」カテゴリの記事
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- チームトポロジーにおける4チームのインタラクションをUMLで整理してみた(2025.01.12)
この記事へのコメントは終了しました。


コメント