チケット駆動開発が進むべき道part1~ソフトウェア開発のベストプラクティスをオープンソースのツールで実現する
最近は、yuguiさんや色んな人のつぶやきに触れて、励まされたり、ハッとしたりする時が多い。
「Redmineによるタスクマネジメント実践技法」を出版してから、チケット駆動開発が今後進むべき道について再考してみた。
ラフなメモ書き。
Redmineを触ってみて、まちゅさんによるチケット駆動開発のアイデアに触れて、チケット駆動開発に従来のソフトウェア開発を大きく変える可能性をすごく感じている。
RedmineだけでなくTracやMantis等のBTSでチケット駆動開発も運用した経験を通じて、チケット駆動開発には下記4つの大きな特徴があると思う。
1・ロードマップで長期と短期のリリース計画を使い分ける
2・ワークフロー管理を透過的にサポートする
3・成果物のトレーサビリティを実現する
4・進捗報告をチケット集計機能で自動化する
1番目は、ロードマップがチケット駆動開発で最も重要な計画プロセスの成果物であることを意味している。
つまり、ロードマップに示された複数のリリース予定バージョンが長期のリリース計画であり、一つのリリース予定バージョンには、短期の観点であるイテレーション計画が含まれている。
更に、ロードマップが将来に向けたリリース計画であり、リリースされたロードマップは自然にリリース履歴として残される。
2番目は、チケットの種類をワークフローで識別することによって、チケット管理が変更管理プロセスになることを意味している。
一つのチケットを終了する過程で、レビューアとレビューイ、開発者とテスター、開発者と設計者などのように複数人が一つの成果物を作ってチェックすることによって、品質を確保するだけでなく、お互いにより深くシステムを知るきっかけになるし、信頼関係が醸成される。
3番目は、要件や仕様からソース、設計書、ビルドモジュール、テスト仕様書などの成果物へのトレーサビリティをチケットを経由して実現出来ること。
RedmineやTrac、TortoiseSVNでは、コミットログにチケットNoを書けば、リビジョンとチケットが自動的にリンクされる機能が付いている。
更に、RedmineのSubtasking機能を使えば、チケットの親子関係が使えるので、ストーリーカードとタスクカードを紐付けて要件からタスクまで簡単にトレースできるようになる。
トレーサビリティによる利点は、仕様変更が来た時の影響範囲を調べやすくなることやソースから仕様をリバースエンジニアリングしやすくなることがあげられる。
システム監査における監査証跡としても扱えるかもしれない。
4番目は、BTSに一括管理されたチケットを集計すれば、進捗や品質、コストなどの情報をいつでも簡単に取り出せるようになることを意味している。
チケット管理の運用ルールさえ徹底できれば、開発者は進捗報告を逐一報告する必要もないし、管理者はリアルタイムに進捗や品質の情報をモニタリングできる。
従来のプロジェクト管理では、上記4つの作業を散在したExcelや大量の紙媒体で管理していたから、メンバーも運用に慣れるのが大変だし、プロジェクトリーダーもプロジェクトの状態を把握するのが困難だった。
Redmineによるチケット駆動開発なら、上記4つの作業を全てRedmineで一括管理できるし、一括管理できるからこそ、他ツールと連携して更に価値を高めることができる。
一言で言えば、ソフトウェア開発をサポートする道具がようやく時代に追いついた気がする。
と言うのも、開発プロセスやソフトウェア開発のノウハウは既に出し尽くされている気がするからだ。
CMMI、Agile、Scrum、XP、RUP、PMBOK、ITIL、テスト管理、品質管理など各種の技法や開発プロセスは2000年以前に既に提唱されており、その運用ノウハウやベストプラクティス、アンチパターンも、その界隈では既に知られていた。
だが、それらの知識を経験していない人にとっては、それらの技法やノウハウは高嶺の花だった。
でも今は違う。
RedmineやTrac、TestLink、Subversion、Git、Wikiなど優れたOSSのツールが普及し、誰もが簡単に構築して運用できるようになってきている。
ツールが揃ってきている今だからこそ、それら開発プロセスの実装、運用ノウハウを皆が知りたがっているのだ。
それら抽象論は既に聴き飽きた人が多いのではないかと思う。
そんな状況にある今、チケット駆動開発というアイデアでやってみたいことは、ソフトウェア開発のベストプラクティスをオープンソースのツールで実現してみることだ。
ツールの機能やプラグインにソフトウェア開発のベストプラクティスを実装すれば、その機能に慣れるだけで、自然に良い習慣が身につく。
そうすれば、ソフトウェア開発をチームで開発する経験が少ない若手にとって、良いお手本になるだろうと思う。
更に、ソフトウェア開発のベストプラクティスを「オープンソース」のツールで実現する点も重要だ。
MSやIBMのツールは確かに優れているかもしれないが、高価だし、ソースの中身を見ることもできないから、自分たちで機能拡張もできない。
もっと重要な点は、オープンソースという場を通じて、ツールを使うユーザとツールを開発するコミッタが有意義な議論を深めることによって、ツールの機能を拡張しながら、ソフトウェア開発の新しいプラクティスを実現する可能性を秘めていることだ。
実際、Redmine本家のフォーラムやチケットの議論を眺めていると、Redmineはアジャイル開発のプロジェクト管理と相性が良いことに気づいた人達が、アジャイル開発のアイデアをRedmineの機能へ注入するだけでなく、アジャイル開発そのものをブラッシュアップしようとする気概が見受けられる。
チケット駆動開発を運用できるツールによって、ソフトウェア開発のベストプラクティスを誰もが簡単に経験できるようになれば、ソフトウェア開発はもっと楽しくなるだろうと思っている。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- JTCの壁を壊す「Redmine参謀本部」という戦略~現場の職人気質を活かす組織論(2026.05.19)
- PM理論で読み解く日本人リーダーの弱点(2026.05.12)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- PMPとCSM取得者数推移(日本 vs 中国)から読み取れる指針は何か?(2026.02.23)
- 製造業のDXを推進する部門をITコーポレート部門に割り当てるとなぜ失敗するのか(2026.02.04)
「Redmine」カテゴリの記事
- JTCの壁を壊す「Redmine参謀本部」という戦略~現場の職人気質を活かす組織論(2026.05.19)
- 第30回東京Redmine勉強会の感想 #redminet ~古いチケット管理基盤にAIという新しい衣を被った未来(2026.05.16)
- 製造業がRedmine導入で必ず聞く3つの質問~MS Project派がRedmine導入で悩むこと(2026.05.03)
- RedmineのAI支援機能はチケット管理システムにとって重要な要件だ(2026.04.29)
- マイクロマネジメントに陥ったチケット駆動開発の罠と再生戦略 #redminet(2026.04.26)
「ソフトウェア工学」カテゴリの記事
- JTCの壁を壊す「Redmine参謀本部」という戦略~現場の職人気質を活かす組織論(2026.05.19)
- マイクロマネジメントに陥ったチケット駆動開発の罠と再生戦略 #redminet(2026.04.26)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)
「チケット駆動開発」カテゴリの記事
- マイクロマネジメントに陥ったチケット駆動開発の罠と再生戦略 #redminet(2026.04.26)
- 第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)
「Agile」カテゴリの記事
- 自動車・半導体・防衛産業から読み解く、業界を制する設計思想(2026.06.10)
- PMOはスクラムマスターである(2026.06.07)
- DX戦略はDX成熟度を考慮して戦略策定すべき(2026.03.20)
- PMPとCSM取得者数推移(日本 vs 中国)から読み取れる指針は何か?(2026.02.23)
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)


コメント