Cotton Bolls: ストーリーポイント
« 種の設計 | トップページ | NUnit Converter »
2004.03.28
ストーリーポイント
僕が作る見積書にはいつも「ポイント」が出てくる.XPをよく知らない人には,このポイントが何なのかよくわからないらしい.先日も営業に見積もりを出したら「出たー,ポイント!」といわれショックだった(いつも説明しているはずなのに(x_x)).もちろん見積書であるExcelシートには人月や金額も算出されるようにしているが,以前からポイントはわけのわからないもの,というふうに思われているらしかった.そこで,今日は僕のプロジェクトで採用しているストーリーポイントを紹介する.
ストーリーポイントの計算はすごく簡単だ.すなわち,
1pt = 「ペアプロで一日かかる作業量」
という式で表される.だから,見積もりをする場合はペアでやるとどれぐらいかかるか?ということを考えながらメンバーと相談して決める.
このペアプロはいつも時間割を決めて行う.1日3コマ制だ.
- 10:15 - 12:30
- 13:30 - 15:45
- 16:00 - 18:15
1コマ2時間15分が0.3ptで,少し残業すると1日1ptという計算になる.ソロの場合はこの半分.でも正確さは全然求めない.かなりアバウトで,難しいことは考えないようにしている.まあ,半日ぐらいなら0.5ptだし,午前中にできるんだったら0.3ptでいいって感じだ.
実際に消費したポイントは,ストーリー集というXMLファイルに書き出す.使っているストーリー集のテンプレートはこんな感じだ:
<?xml version="1.0" encoding="UTF-8"?> <stories name="イテレーション1 (3/29-4/9)"> <story name="ストーリーA"> <desc>ストーリーAの説明</desc> <task name="タスク1" expected="2" actual="0.5"> <desc>タスク1の説明</desc> </task> <task name="タスク2" expected="1" actual="1.5" done="yes"> <desc>タスク2の説明</desc> </task> </story> </stories>
この例では,最初のタスクは未完了で,0.5pt消費したことがわかる.一方,二番目のタスクは完了しているが,0.5pt分足が出た,ということになる.
このファイルをrubyで読み込み,ポイントの小計および合計を加えてHTMLに変換し,開発用Webサーバーにアップする.もちろんこのアップロード作業はMakeで自動化されている.
上の例はイテレーション単位のストーリー集だったが,他に
- 見積もり用ストーリー集(estimate.xml)
- 未実装ストーリー集(todo.xml)
- 実装済みストーリー集(rubyによる自動生成)
などのストーリー集を作る(フォーマットは同じだ).これらをまとめてプロジェクトのWebサイトから簡単に参照できるようにしている.
プロジェクトが始まる前,最初に行う見積もりでは,見積もり用ストーリー集を起こし,これを元に見積書を作成する.無事契約が成立すれば,まず未実装ストーリー集とイテレーション0のストーリー集を作ることになる.その後イテレーションが終わるたびに次のイテレーションのストーリー集を作り,未実装ストーリー集から実装済みストーリーを削除する.開発はこの繰り返しだ.
以上が僕が何年も前から使っているストーリー管理の方法だが,XMLファイルを編集するのが不恰好なのでWikiに移行できればいいなと思っている.会社ではPukiWikiが使われてるので,こんな感じのストーリー集作成プラグインがあればいいのだが.
09:16 PM in XP | 固定リンク
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/358605
この記事へのトラックバック一覧です: ストーリーポイント: