りんごとバナナとエンジニア

エンジニア修行の記録

「ワンストップ見積もり本」で見積もりのやり方を学んだ

note.mu

先日の技術書典6で、親方Projectさんが販売されていた本です。 ちょうどこの前、見積もりが全然できておらず目標を達成できなくて怒られたばかりなので、買ったその日に真剣に読みました。

この本は、プロジェクトやタスクにかかる時間・工数をどう見積もるかについて書かれた本です。15人の著者の方が、それぞれの工夫や経験談などを寄稿されています。

なぜ自分が今まで見積もりができなかったかというと、見積もりというものをこんな風に捉えていたからでした。

  • 何が起こるかわからないのに、かかる時間なんてわかるわけなくない?
  • 結局適当な時間を答えることになるんだから、あんまり意味ないよね

しかしこの本を読んで、自分の認識がいかに甘かったかに気付かされました。確かにどれほど考えても想定外の事態は起こりうるのですが、だからといって誰も何も考えていないわけではないのです。

見積もりの要点

この本を一通り読んだ今、見積もりの要点は以下の4つかなと考えています。

  1. 執拗なまでにタスクを細分化する
  2. 最短時間・最長時間の両方を考える
  3. 実際に何にどれくらい時間がかかったか記録する
  4. 1~3のログを貯めることで見積もりの精度を上げる

まずタスクの細分化。これは普段作っているチケットよりも細かい粒度で考えます。例えば「ある機能を実装する」というタスクであれば、「必要な処理の流れを書き出して整理する」「整理した流れに沿ってコードを書く」「テストコードを書いて実行・修正」などに分けられます。しつこいくらいに細かくすることで、時間を見積もりやすくなるうえ、次に何をすればいいかがわかりやすくなり、すぐに取りかかることができます。

また、時間の見積もりも単にエイヤ!で行うのではなく、超うまくいったときの時間(達成確率20%)と、これを超えたら恥ずい時間(達成確率80%)の2つを考えると良いです。これを二点見積法と言うそうです。実際にかかった時間が早すぎず遅すぎず、二点の中間くらいになると、見積もりが良かったと言えます。

最後に、実際にかかった時間を記録して振り返ることで、次からの見積もりの精度を上げていくことができます。私は3章で紹介されていた、erukitiさんの見積もりシートをほぼそのまま使い始めました。まだ1週間ほどですが、見積もり時間を大きく超過したときの振り返りが溜まってきており、自分にとってどんな行動がアンチパターンなのかが少しずつ見えてくるようになっています。

この本をきっかけに、見積もりの技術を考えるようになり、自分の仕事の仕方が大きく変わりつつあります。早くも良い収穫を得ることができました。

oyakata.booth.pm