2006年06月30日 20:50
ソフトウェア開発手法については様々な手法が提案されてますが、アイデアマンズではここ最近スクラム開発というのを試験採用しています。
スクラム開発では開発期間をスプリントと呼ばれる短い期間に分割し、期間内での目標消化タスクを設定します。タスクを消化するために必要な総作業時間を毎日プロットし、スプリントバックログなる図を作成します。
仕事の目標を残作業時間を減らすという単純なものに置き換えることで、ある種ゲームのような感覚が生まれて、モチベーションを上げるのに非常に効果的です。
で、この手法とtracとの相性が非常によい。tracでチケットを発行するときに1タスク1チケットとして予想工数を書いとくと後で簡単にバックログが作成できます。
今、アイデアマンズでは trac + Excel でWeb1.5的な管理をしていますが、ちょっと手を加えると自動化出来そうなんで暇があったらバックログ作成プラグインなんて作ってみたいスね(もうあるかな?)。
ではここで、アイデアマンズの恥ずかしいスプリントバックログを曝しつつ解説しましょう。
下図は現在進行中の開発プロジェクトの6回目のスプリントの様子です。

図1. スプリントバックログ
6月12日~6月23日の期間でスプリントを設定し、この期間中に消化すべきチケットを
洗い出すと残作業時間は169人時となりました。6月23日に0人時となるように目標推移線を引き、さあスプリント開始です。
設計作業が多い初期フェーズでは机上で何度も出戻りが発生する(させる)ため成果物が生まれずペースが悪いです。目標推移と余りにもかけ離れているのでちょっとアセります。
頭の中で実装イメージが沸くまで入念に設計すると実装は予想以上に加速するため6月17日前後ではもの凄いペースでチケットが消化しています。イイねイイね。
6月20日、チケットが半分に減ったあたりで中間レビュー。実装中に気づいた懸念事項や改善点を洗い出し再度チケットを追加します。あぁっ、もうちょっとで目標線に辿り着くところだったのに・・・おしい!
ここでスプリントの時期も見直し。セオリーではスプリントの期間を変えずに作業量を調整(次回のスプリントに回すなど)するそうですが、今回は乱入タスクが余りにも多かった事を加味してスプリントの期間を6月28日まで延長することに・・・。嫌な予感。
後半にはいわゆる「重い」チケットが残るためペースがなまる。しかしスプリントの締切りが近づくので追込みダッシュでペースを上げる。肉体的にもムリします。
締め切り直前は凄まじいペースでチケットを消化しつつも、未着手だったチケットから想像しなかった子チケットがこれまた凄まじいペースで生まれてくる。結果、美しいまでに水平な均衡状態。身も心もボロボロになりながら大量に残ったチケットを前に、失意の中でスプリント終了。
図から様々な情報が分かりますが「重いチケットは早めに着手する」、「なるべく早い段階でチケットを出し切る」これ大事です。フロントローディングにも繋がりますしね。