<< TOPへ
The CESAW dataset: a conversation
・45プロジェクト、61,817タスクのデータを分析。以下が概要。
- 分析したデータには、タスクの種類、担当者、開始/終了時刻、中断時間などが含まれる。合計203,621の時間データがある。
- タスクの所要時間見積もりの正確さは、見積もりをする人、プロジェクト、端数の使用頻度などの要因に影響される。
- 多くのタスクは1日以内に完了する。2週間以上かかるタスクは問題の可能性がある。
- 1日に1人が複数のタスクを実行することは珍しくない。週の曜日によってタスク数に違いがある。
- 見積もり時間は、30分、60分などの区切りのよい数字に偏る傾向がある。実際の所要時間はそこまで偏らない。
- タスクの実行は中断されることが多い。中断時間はタスク時間の3~20%程度。
- タスク見積もりの正確さは、見積もり回数を重ねても改善しない。
- 朝7時から夕方5時が主な作業時間帯。2つのセッションに分けて作業するのが一般的。
- データ品質の分析から、一部に誤入力と思われる極端なデータがあることがわかった。
・見積もりの精度については以下のように言及されている。
- 見積もりを行う人、プロジェクト、端数の使用頻度などの要因に影響されることが示唆されています。(序論部分)
- 多くの見積もりが、30分、60分などの区切りのよい数字(ラウンドナンバー)に偏る傾向があります。実際の所要時間はそこまで極端には偏りません。これは、見積もりの際にラウンドナンバーが好まれる傾向があることを示唆しています。(5.1節)
- 個人ごとの見積もり精度のばらつきが大きいことが示されています。プロジェクト615のデータでは、個人の見積もり精度は全体平均の10倍以上の開きがありました。(5.1節、図14)
- タスクを繰り返し見積もることによる見積もり精度の改善は見られませんでした。これは、開発者がタスクをより効率的に実行することを学習することを優先し、見積もり精度の改善にはあまり注力していない可能性を示唆しています。(5.4節)
- 見積もりの販売可能性も精度に影響する可能性があります。顧客がラウンドナンバーで考える傾向がある場合、ラウンドナンバーでない見積もりは受け入れられにくいかもしれません。(8.1節)
・以上のことから、見積もりについてまとめてみた。どれもそりゃそうだ
- 見積もり精度にはかなりのばらつきがあるため、経験豊富な人の見積もりを重視したり、複数人で見積もりを行ったりするのが良い
- 個人ごとのばらつきを減らすためには、見積もりの根拠を明確にし、チーム内で共有することが重要。過去のデータを活用したり、複数人でレビューしたりするのも有効。
- 見積もり精度よりも実行効率を重視する。タスクを繰り返しても見積もり精度は改善しないため、むしろタスクをいかに効率的に実行するかに注力することが大切です。
- 見積もりの販売可能性(受け入れられる可能性)を高めるためには、顧客との対話を通じて、見積もりの根拠や前提条件を明確に説明することが重要
- 実績データを収集・分析し、継続的に見積もりプロセスを改善していくことが重要
・ただ、「タスクを繰り返しても見積もり精度は改善しない」が違和感があったので、確認するとこういうことだった。「見積もり精度の改善を学ぶことは優先していなかった。」が味わい深い。
---
タスクを繰り返しても見積もり精度が改善しないというのは、一見直感に反する発見です。一般的には、同じようなタスクを繰り返すことで、経験が蓄積され、見積もりの精度が上がっていくと考えられるからです。
しかし、この論文の分析では、個々の開発者について、タスクを見積もった順番と見積もりの精度の関係を調べたところ、有意な相関は見られませんでした(5.4節)。つまり、見積もりを繰り返しても、見積もりの精度は体系的には改善していないのです。
この結果について、論文では次のように考察しています。
> ...developers prioritized learning to perform tasks more effectively (rather than learning to improve estimate accuracy).
訳:「開発者はタスクをより効率的に実行することを学習することを優先し、見積もり精度の改善を学ぶことは優先していなかった。」
つまり、開発者は見積もりの精度を上げることよりも、タスクを効率的にこなすことに注力しているのではないか、というわけです。
この発見は、見積もりの精度向上のためには、単に経験を積むだけでは不十分であることを示唆しています。見積もりのスキルは、タスクの実行スキルとは異なる側面があり、意識的に訓練する必要があるのかもしれません。
また、この結果は、見積もりの精度よりもタスクの実行効率を重視するという、開発者の優先順位を反映しているのかもしれません。限られた時間の中で、見積もりの精度を上げるよりも、タスクをこなすスピードを上げる方が、プロジェクトの成功に直結すると考えられているのかもしれません。
いずれにせよ、この発見は、見積もりの精度向上のためには、単なる繰り返しだけでは不十分であり、もっと体系的な訓練やプロセスの改善が必要である可能性を示唆しています。