タスク遷移はイミュータブルで管理すべし

バーンダウンチャートを運用しようとすると割り込みタスクや運用が入ったりして
当初の予定のスプリント計画とは違う作業を先にやるとバーンダウンチャートが動かなくなってしまうときがある。
するとチームはなにもやっていないことになってしまう。
たしかに計画のとおりに作業をやっていないのだから何もやってないとするのはいいかもしれないけどそうすると誰も運用作業や緊急の作業をやらなくなってしまう。


だからバーンダウンチャートで表現する数値はスプリントの総量ではなく、増分、消化量(と総消化量。ベロシティ計測に使う)が必要なのである。
そもそもスプリントで計画された総ポイントなんて実際はどうでもいいのである。
教科書どおりにバーンダウンやイテレーションをまわそうとすると本当の消化量や、増えた分の作業(教科書的には増やしてはいけないことになっているためそういった記述がなく、グラフの中には表現されないことが多い)が見えなくなり、その結果ベロシティがわからなくなったりバーンダウンが動かなくて機能不全になってしまう。ということが実際にあるのである。


前述のとおり計画通りに進んでいないことがわかる、とかベロシティはとても低いものだ、という判断をするのもありといえばありだが、それではあまりにも現実を無視しているし、「計画通りかどうか」なんていう考え方がアジャイルの考えと逆行している。
この辺の考え方がわかっていない(というか教科書原理主義な)人は「本来のスプリントのベロシティ」と「実際のベロシティ」とか分けて数字をだしがちだけど、正直そんなものはいらねぇし結局破綻すると思う。
我々が知りたいのは実際のベロシティだけではないのかね。と。


で、タスクの遷移を管理するにはグラフだけではダメで内部的に簿記のようなイミュータブルなロギングを取り入れる必要がある。
だからそういったイミュータブルを視覚化する方法を探してるんだけどなにかいい方法はないものかね・・・