こんにちは、 @illypon です。
教えてくれそうで教えてくれないソフトウェア産業の常識。
今回はプロジェクトの重要な構成要素のひとつである工数の概念についてです。
工数って何?
人の実際の稼働を抽象化し、定量的なお金・時間に換算するための仕組みが工数です。
工数管理の目的とは?
見積(計画)とそれに対する実績がどうであったかを管理するために工数を使います。
ひとりひとりの社員が自分はどのプロジェクトのどの作業にどれだけの工数を使ったかを申告することにより、
プロジェクトが見積(計画)と比較して順調に進行しているか、プロジェクトの収益性が十分であるかが明確になるわけです。
工数は抽象化する仕組みのこと
多くの人がかかわるプロジェクトを管理するうえでは、
ひとりひとりの個性を鑑みてそれぞれを完全に定量化して合算して予算を組むことは困難です。
そのため、実際には一人一人の給料はその能力や実績に応じて異なりますが、
工数管理をする際には便宜上どんな人も同じ価値として扱います。これを単価といいます。
また、現実にはひとりひとりの能力や1か月の労働時間は異なりますが、
工数管理では、1人の人間が1か月に生み出す成果は同じ量として扱います。
これらはあくまで管理をするための工夫です。
人月の神話
工数は実際の人の稼働を抽象化する工夫だと言いました。
ここで注意していただきたいのは、抽象化したものは実際の人の稼働には戻らないということです。
「3人で3か月で終わる作業」というように一度抽象化した情報を
「1か月でも9人でやれば終わる作業」という現実に再変換できないということです。
話を極端にしてみれば理解しやすくなります。
たとえば「1人でだと10分で食べ終わる1杯のラーメン」をもし600人で食べれば1秒で完食できますか?
むしろ600人が1杯のラーメンを共有して食べなくてはいけない時点で、1人で食べるよりもはるかに時間がかかりそうですね。