システム開発における工数管理とは?

 2019.10.15  株式会社システムインテグレータ

業務システムの開発や管理としてプロジェクトマネージャーやプロジェーとのリーダーに選出された場合、今までには無かった多くの調整業務を遂行する能力が求められます。その業務1つで非常に重要な役割が「工数管理」です。プロジェクトチームの1メンバーとして仕事をしていた際は、全体の作業工数を意識することは少なかったかもしれません。しかしプロジェクト全体を管理する立場になると、工程管理(スケジュール)ばかりでなく、工数管理(稼働状況)にも目を光らせる必要があります。なぜなら、この工数を理解ししっかりと管理しなければプロジェクトは破綻してしまうからです。

本稿では工数管理の基本を整理しつつ、工数管理のポイントをご紹介します。

システム開発にける工数とは?

「工数」を分かりやすく説明すると「作業に要する時間」という考えになります。ソフトウェアやシステム開発やシステムのインテグレーションを実施する場合、作業時間を「人数×時間で表すのが一般的です。その為、「人月(にんげつ)」「人日(にんにち)」「人時(にんじ)」という単位を使用します。以下に例を挙げます。

  • 1人月 : 1人が1ヵ月間で完了する作業量
  • 1人日 : 1人が1日(通常は8時間)で完了する作業量
  • 1人時 : 1人が1時間で完了する作業量

プロジェクトにおける作業工数を算出する場合は、それぞれの作業時間に応じてこれらの単位を使い分けています。多くの場合、それぞれの単位に対して、作業者のスキルや職責に応じた単価が設定されており、それぞれを掛け合わせることで作業にかかる金額を算出することに用いられます。

一部のケースを除き、多くのシステム開発プロジェクトでは想定される作業量に応じて契約金額が算出される為、金額の根拠となる作業量を人月や人日として表現されます。

中には、準委任契約として仕事量に対して金額を支払う契約を使用する場合もあり、特にサポート業務やコンサルティング業務など、予め時間単価を設定しておき、実際に発生した作業実績に応じて金額を支払う場合もあります。その際も多くのケースで実績報告に使用する作業量として、人月または人日を用いています。

工数の計算方法

工数をどう計算するかで、プロジェクトにかかる原価(≒人件費)も変わります。ただし、工数の計算方法というのは企業によって三者三様です。企業ごとにプロジェクトの内容や手順は違いますし、共通化された計算方法では実態を反映できず大きな誤差が生じます。

プロジェクト管理に関するお役立ち資料

一般的な計算方法としては、過去のプロジェクトから新しいプロジェクトにかかる工数を算出するというものです。たとえば過去のシステム構築プロジェクトにおいて、1,000行のプログラムを書くのに1人で1日(8時間)かかったという実績があると仮定します。さらに、同じプログラム言語を使用して10万行のプログラムを書かなければいけない場合、想定される稼働時間は以下の様になります。

100,000(万行)÷1,000(行)=100(人日)

実際のプロジェクトはもう少し複雑なので、クライアントとのコミュニケーションや要件定義にかかる時間、システムテストのかかる時間などを加味して計算します。そうした工数を算出できたら、次に、どれくらいの期間でプロジェクトを完了させたいか?を考え、最終的な工数を導き出します。

100人日かかる作業を1ヶ月(20日間)で終わらせるためには、5人のチームメンバーが必要となるため、「5人月分」の作業と表現される場合もあります。

工数管理のポイント

プロジェクトにおける工数は、ほとんど人件費と同義だと考えてよいでしょう。そのため、工数管理を実施するとプロジェクトにかかる人件費(原価)をコントロールすることに繋がり、プロジェクト利益を高めることができます。では、工数管理のポイントとは何でしょうか?

工程表を作成する

プロジェクトを開始するためにはプロジェクトメンバーのアサインが必要になるます。その際にプロジェクトマネージャーが注意すべき点は、「必要な人数」を意識するだけではありません。役割やエンジニアのスキルなどを加味して、それぞれのコスト(人件費)を考慮しながら、プロジェクトに必要な人員を確保します。

その際に、コスト(単価)の違うメンバーをどの様にアサインするか?で、全体コストが変わってきます。そのため、最適な工数とコストでプロジェクトを進められる様に何度もシミュレーションを行います。

プロジェクトのタスクごとに誰にどの程度の時間で作業してもらうか、アサインを決めていくことになりますが、「設計」や「開発」「テスト」と言った、工程ごとに役割分担する方法や、「設計」から「テスト」までの全工程機能ごとに分担する方法など、プロジェクトの特性に合わせて選択します。

プロジェクトの工数計画と担当者のアサインが確定するとWBS(Work Breakdown Structure)と呼ばれる工程表を作成し、プロジェクト全体の作業、スケジュール、作業時間、工数が確定し、プロジェクト全体のコストを算出することができます。

作業進捗を管理する

プロジェクトがスタートすると、工程表に沿って仕事が進みます。そのためプロジェクトリーダーは、作業の進捗を管理する必要があります。

工数計画の策定で利益が出ているからといって油断はできません。プロジェクトが推進する中で、予想以上の時間や工数がかかるようであれば、プロジェクトの利益は圧迫され、最終的に赤字になる場合もあります。

特に頻繁に発生するケースとして、

  • 当初の想定以上に開発の難易度が高く作業時間が大幅に増えたしまう
  • 機能確認の段階で出戻りが発生し、追加の開発や修正が発生してしまう
  • 品質確認やテストの時間が足りず、期限を守ために人員を増員してしまう

システム開発に携わる方であれば、少なからずこの様な経験をされているのではないでしょうか。「開発スケジュールが予定より遅れている」「想定した機能がうまく実装できない」と言ったことは実際にプロジェクトを進めるとよく耳にします。ただ、プロジェクトを管理する立場であれば、これらの事象は顧客への信頼のみならず、プロジェクトのコスト圧迫の予兆とも言えます。

そのため、常に作業進捗を把握し、遅延や想定以上の作業工数が発生しそうなシグナルが出ている場合は、他の工程と調整したり、予め見込んでおいたバッファー部分(余剰コスト)を投入することで、早期に問題点を図るなど、プロジェクトが安定して進む様に配慮します。

まとめ

いかがでしょうか。システム開発における工数管理の原理やポイントについてご紹介してきました。こうした工数管理の考え方は、システム開発以外の分野でも利用することができます

工数管理とはいわば人件費の管理でもあり、この工数を適切に管理することで様々なプロジェクトでも適用可能で、創出されるROI(Return of Investment:投資対効果)を大幅に改善することができます。

初めてプロジェクトマネージャーの役割に就任するという方は、この機会に工数に対する理解を深め、適切なプロジェクト管理が実施できるよう、工数管理のポイントを押さえてみてください。

新規CTA

新規CTA
新規CTA

RELATED POST関連記事


RECENT POST「工数管理」の最新記事


この記事が気に入ったらいいねしよう!
プロジェクト管理ツール比較ガイド:全7製品を10項目で徹底調査
ブログ購読のお申込み

RANKING人気資料ランキング

RECENT POST 最新記事

RANKING人気記事ランキング