作業を見積もる「現実的な想像力」

ロンドン大学George Roussos先生が研究室に来るということで研究紹介用のデモを用意することになりました。


デモをすることに決まったのが11月29日で、発表が12月3日ですから確保可能な作業時間は実質3日しかありませんでした。今回はデモをゼロから作る訳ではなく、夏の研究発表で使ったものを機能拡張することにして、開発する機能(最終的なテストケース)とプログラムに追加するクラスを列挙して、それぞれの作業時間の見積もりを行ってみることに。そしたら意外に12時間くらいで完成すると予想されたので割と余裕だろうと高をくくっていたのですが、現実はそんなに甘くはありませんでした。


それは見積もった作業以外にも不確定要因が沢山あったためです。過去に書いたのプログラムを読むのに時間が掛かったこと。ライブラリのインストール(ICE, Coin3D, SDL etc...)に意外に時間が掛かったこと。作業環境が複数の言語(C++, Java)、複数のOS(Windows, MacOSX, Fedora Core2)、複数のIDE(Eclipse, Xcode, Visual Studio .NET)と多岐に渡っていた上、Visual Studio環境の使い方がほとんど分かっていなかったこと。そしてそれらで開発したプログラムをテストする時間などなど。


作業量を見積もるには、作るべきモノだけではなく、開発手段や作業者の知識リソースを把握しないと予想外のコストがかかるなと改めて痛感しました。見積もりを行うには現実的な想像力が必要だなと。


あと2ヶ月で提出しなければならない修士論文に関しても、作業量をきちんと見積もって作業計画を立てなきゃなと思います