2006-01-12 (Thu) [長年日記]
_ habtmがsaveされない
あるアプリケーションをRails 1.0.0に移行したら、 new recordのhabtmなassociationがsaveで保存されなくなっていて、 おおいにはまった。
user = User.new user.groups.push(group1) user.groups.push(group2) user.save user.reload p user.groups #=> []
といった具合。pushする前に、user.saveしとけば保存されるんだけど、 このバグはちょっといただけないなあ(他人には厳しい)。
_ 開発スケジュール管理
以前オーム社の方にいただいたJoel on Softwareで 紹介されているスケジュール管理法を試している。
図のように、
- 機能
- タスク
- 優先度
- 当初見積
- 現在見積
- 経過時間
- 残り時間(現在見積-当初見積)
という列を持つExcel(自分はOpenOffice.org Calcだけど)の表で管理す る、というシンプルなものだ(ガントチャートなどは使わない)。
ポイントは、
- タスクの粒度を小さくする(せいぜい数時間程度)。
- 開発者自身がスケジュールを立てる。
- デバッグやバッファ(予備の時間)も項目に挙げておく。
- 一日の終わりに、8時間働いたことにして(!)、おおざっぱな経過時間 を記録する。
- 現在見積をアップデートする(当初見積は変えない)。
といったところ。
表計算ソフトだと、残り時間の合計とか見積の合計などがすぐに出せる ので、スケジュールの修正がしやすいのがいい。 しかし、バッファがもう残り5時間になってしまった:(
当初見積と残り時間ってどんな風に使うですか?預言が当たらなかった度合いを知るため?ゴールまでの距離は現在見積なのかしら。