Playing Planning Poker in Crowds: Human Computation of Software Effort Estimates

August 6, 2021

プランニングポーカーにみられるように、ソフトウェア開発の工数を見積もる手法は、プロジェクトに一定期間在籍する専門家がいることを前提にする。 しかし、OSS開発はその限りではなく、見積りの対象になるイシューの数は多い。 各イシューの見積りに5分から10分時間をかけるなら、Linux Kernelのバックログを見積りきるのに半年がかかる。

著者らは、大規模OSSのように固定的な専門家がおらずイシューの多いプロジェクトのために、クラウドワーカーによるプランニングポーカーを設計した。 クラウドワーカーは、Mechanical Turk上で、工数を、1時間、半日、1日、半周、1週間、2週間のどれかに見積り、その理由を回答する。 クラウドワーカー間の回答がある程度そろえば、見積りを終える。 そろっていなければ、ほかの見積りと理由の統計をワーカーに見せる。 以上の手続きを回答がそろうまで最大三回くりかえす。

見積りと実際の工数が記録されている3つのOSSプロジェクトJBoss, Apache, Spring Integrationのイシュー39個をクラウドワーカーに見積りを依頼し、記録された見積りを専門家の見積りとして、両者を比べた。 パイロットテストでは、回答の80%があきらかに誤りのある回答であった。 そのため、本番の評価実験では、パイロットテストのデータからランダムフォレストのモデルを訓練し、明らかな誤りのある回答を除外するようにした。 結果、各イシューを平均8人で見積もることになり、その結果は専門家と同程度に正確だった。

論文をこちらからダウンロードできます。