« 経産省が推進する日本版クラウドサービスJ-SaaS | トップページ | TestLinkCnvMacroを活用しよう »

2010/03/15

ついにRedmineのtrunkにSubtasking がコミットされた!

ついにRedmineのtrunkにSubtasking がコミットされたのでメモ。

【元ネタ】
Twitter / yusuke-kokubo: #redmine ついにtrunkにSubtaking がコミットされた!

Twitter / yusuke-kokubo: #redmine 1.0ではチケットの親子関係がサポートされます。

Redmine - Feature #443: Subtasking - Redmine

Redmine - リビジョン 3573 - Redmine

(下記引用開始)
Adds subtasking (#443) including:
* priority, start/due dates, progress, estimate, spent time roll-up to parent issues
* descendant issues tree displayed on the issue view with context menu support
* issue tree display on the gantt chart
* issue tree copy on project copy
* unlimited nesting
Defining subtasks requires the new permission 'Manage subtasks'.
Subtasks can not belong to a different project than the parent task.
Implementation is based on scoped nested sets for fast reads and updates.
(引用終了)

上記チケットのログを見ると、親チケットに紐づく子チケット全ての開始日・終了日・進捗率・見積工数・実績工数を親チケットへロールアップしてくれるようだ。
しかも、子チケットの階層は無限なので、いくらでも階層を深くすることができる。
プロジェクト階層の無制限、バージョンの継承と合わせて、Redmineに足りない機能はもうなくなったように思う。

従って、チケットの親子関係を通じて、ストーリーカードとタスクカードの関係の下記の制約を実現してくれることになる。

制約1・ストーリーカードの開始・終了日は、タスクカードの開始・終了日のUnionである
制約2・ストーリーカードのステータスは、タスクカードのステータスの共通集合である
制約3・ストーリーカードの工数は、タスクカードの工数の合計である

チケットの親子関係の機能は、バックログの管理ですごく重要だ。
この機能を使えば、改善要望などの要求をストーリーカード、その要求を実装する作業をタスクカードにアサインして別々に管理できるようになる。
更に、ストーリーカードとタスクカードのワークフローを変えて、別々のトラッカーで管理するといいだろう。

そうすれば、ストーリーカードは管理者や設計者、顧客を交えた課題管理会議(CCB、CAB)で方針を決定ないし承認するというワークフローで制御できる。
そして、タスクカードは従来のように、チケットの担当者とテスターが交互にペアプロのように作業すればいい。

又、上記の機能で素晴らしい点は、「ロールアップ」という機能だ。
情報処理技術者試験でも出るように多次元データベースの操作の一つであり、詳細に展開された属性を集約する操作を表す。
逆に、「ドリルダウン」は属性を詳細に展開する操作を表す。

つまり、子階層のチケットの属性である開始日・終了日・進捗率・見積工数・実績工数を上階層のチケットへ集約して表示するのがロールアップ。
逆に、上階層チケットの属性である開始日・終了日・進捗率・見積工数・実績工数を子階層のチケットへ展開して表示するのがドリルダウン。

普通の業務システムでは、特に売り上げ報告、損益計算書、貸借対照表などのようなビューに対し、大分類や大勘定科目をドリルダウンして、何故こんなに数値が大きいのか、その原因を探ることができる。
あるいは子分類や子勘定科目をロールアップして、プロジェクト単位や部門単位で集計した値を見て、売上を比較することもできる。

従来のシステム開発では、ドリルダウンやロールアップのロジックは検索ロジックが複雑なため、キー操作に処理が追いつかず、使い辛い弱点があった。
しかし、昨今のクライアントアプリの発展によって、ドリルダウンやロールアップのようなUIも軽快に操作できるようになった。
例えば、Ajaxでは、サーバーからクライアントのビュー用データをJSONで保持して、ローカル上で軽く操作できるロジックを実装できる。
そのような技術革新の状況を考えると、プロジェクト管理システムでも同様のUIを実装した方が使いやすいはず。

Redmineの上記の機能はまだ使っていないが、Ver1.0が楽しみになってきた。

|

« 経産省が推進する日本版クラウドサービスJ-SaaS | トップページ | TestLinkCnvMacroを活用しよう »

プロジェクトマネジメント」カテゴリの記事

Redmine」カテゴリの記事

ソフトウェア工学」カテゴリの記事

チケット駆動開発」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: ついにRedmineのtrunkにSubtasking がコミットされた!:

« 経産省が推進する日本版クラウドサービスJ-SaaS | トップページ | TestLinkCnvMacroを活用しよう »