Photo by Waag Society
この記事では、筆者の経験に基づき、人月(にんげつ)という考え方と、人月のメリット・デメリットについて紹介します。
(話を聞くだけなら)みんな大好きIT業界。IT業界では一体どんな内容の仕事があるのだろう?
このシリーズ記事ではそんな疑問を持つ学生の方、社会人の方のためにIT業界、特にSIer業界について、IT業界に5年務めた筆者の実体験をもとに、そこで働く人たちの役割ごとに紹介していきます。
はじめに
大学生Aくん:すごいねこのゲーム、作るのにどれくらいかかったの?
大学生Bくん:ん~大体3ヶ月くらいかな。
大学生Aくん:へぇー、結構頑張ったね~。
さてここで、「いや、期間を訊きたいんじゃなくて作成に使った時間は何時間なの?講義やバイトとかあるでしょ。」と思う人はプロジェクトマネージャの素養があるかも知れません。
この、「成果物を完成させるのにどれくらいの時間がかかるのか」というのが人月です。(人日や人時という言葉もありますが、考え方は同じです。)次の節から具体的な例を交えて人月のメリット・デメリットを説明していきます。
人月のメリット
Photo by Waag Society
部長:プロマネくん、この案件だけど、どのくらいで見積もってるの?
プロマネくん:この案件はまあまあの規模なので、今のところ24人月で計算してます。
これは、「24人が1ヶ月働けばシステムが完成する」という意味になります。「期間」は表現されておらず、「作業時間」のみを意味しています。
部長:納期はいつなの?プロマネくん。
プロマネくん:現在お客さんと最終調整中ですが、プロジェクトの立ち上げが来月、そこから3ヶ月後に納品予定です。
ここで初めて期間が現れます。24人月を3ヶ月という期間で按分した場合、1ヶ月8人必要となる計算です。「作業時間そのもの」は先の24人が1ヶ月働いた時間と同じですよね。
・作業時間=24人×1ヶ月=24人月
・作業時間=8人×3ヶ月=24人月
このように、人月という考え方は直感的でわかりやすいというのがそのままメリットとなり、今でも現場で多く使われますが、あくまで作業規模(作業時間)の話しかしていないことに注意しましょう。
そして、この人月、考え方がシンプルであるがゆえなのか、非常に厄介者で落とし穴が各所に存在しています。次の節から人月の考え方を採用することのデメリットを紹介していきます。
人月のデメリット
人月の落とし穴1:プロジェクト計画を最適化するものではない。
Photo by Waag Society
部長:それで、さっきの続きだけど人員の配分はどうなってるの?
プロマネくん:プロマネのNさん、SEが2人、プログラマが5人です。この8人で3ヶ月チームを組む予定です。
部長:いや、おかしいでしょ。開発の最初はプログラマ出番ないし。もっと計画を練ってきてね。
プロマネくん:(´・ω・`)
先ほどの例で24人月の案件を3ヶ月で終わらせるプロジェクトである場合、単純に8人体勢で3ヶ月とするプロジェクトとしましたが、プロジェクトには通常、「要件定義、設計、製造、試験、納品」といったフェーズが存在するため、このような単純な人的資源配置で良いことはほとんどありません。
通常、開発のピークは設計、製造、試験なので、ここに人的資源を集中させる必要があります。
また、要件定義、納品で人数が多くても人的資源を遊ばせてしまうので、無駄が生じてしまいます。
一般的な人員資源の移り変わり
部長:ちなみにだけど、3×8人月(3人で8ヶ月のプロジェクト)と、4×6人月(4人で6ヶ月のプロジェクト)、どちらが良いと思う?
プロマネくん:わかりません!(´;ω;`)
一見すると、4×6人月の方が早く終わって良いような気がしますが、人数が多い分、一般的にはコミュニケーションロスが生じます。PMP的に言うと、コミュニケーションチャネルが増加すると言った具合です。
・3人プロジェクトの場合:3*(3-1)/2=3 のコミュニケーションチャネル
・4人プロジェクトの場合:4*(4-1)/2=6 のコミュニケーションチャネル
チャネル数は2倍の差となりました。実際には、3人と4人なら実務的にさほど違いは出ませんが、多くなればなるほど連絡事項や会議などのオーバヘッドが増加し、作業効率は落ちます。
プロジェクトマネジメント計画は複雑で難しいものですが、このあたりのことや人と人との相性、能力を考えて計画を立てるのは、プロジェクトマネジメントの醍醐味でもあり、個人の力の見せ所でもあると私は思います。
人月の落とし穴2:1日何時間労働を想定しているの?
Photo by Waag Society
部長:このプロジェクトのメンバーは全員自社社員なの?
プロマネくん:プログラマは外注しようと思っています。外注先の偉い人さん、こんな感じで人員を確保して欲しいです。
外注先の偉い人:(1人月で70万円か・・・ん・・・?)
外注先の偉い人:あの、1日の労働時間、間違ってません?
プロマネくん:1日当たり残業4時間込みの労働時間です。
外注先の偉い人:(絶句)
部長:(我関せず、だんまりを決め込む)
人月に残業時間が含まれていれば、当然それは給料として払われなければなりません。残業代が一時間あたり1800円くらいだとして、1ヶ月20日働くとすると1800(円)×4(時間)×20(日)=144,000(円)となります。外注先としては全然儲からないですね。
ただし、144,000円きっちり払われるとは限らないところが社会の闇なのです。
人月の落とし穴3:成果に対して払われる報酬ではない。たらたら仕事をしたほうが儲かる。
Photo by Waag Society
部長:進捗はどう?
プロマネくん:結論から言うと、進捗遅れが発生しています。製造フェーズなのですが、思ったよりも生産性が出ていません。その影響で、プログラマを数名追加しなければなりません。
部長:属人的な問題か、組織的な問題かをきちんと整理しておいてね。あと、これは余談だけど、もしかしたらわざと手を抜いているケースもあるかもしれないよ。
プロマネくん:ど、どういうことですか?
部長:結局は外注先も儲けたいわけだから。早く仕事を終わらせるより長引かせたほうが、今回みたいに人員の追加ができて儲かるでしょ。
プロマネくん:!!
話の例はシステム開発会社の元請け会社が、下請け会社に対して愚痴っているところですが、発注元、元請けでもこの会話は成り立ちます。本当にこんな戦略をとる会社が存在するのかどうかは謎ですが、お金を払うほうが圧倒的に力を持つこの社会、このような懐疑心も仕方ないのかもしれません。
ちなみにこれ、筆者が実際に会話を聞いた実話です。
おわりに
大学生Aくん:実際にはどれくらい掛かったの?時間。
大学生Bくん:へ?今言った通りだけど?3ヶ月だよ3ヶ月まるまる費やした。
大学生Aくん:・・・
大学生Bくん:・・・
この記事でデメリットの方が多いように、人月だけを見てプロジェクトマネジメント(計画)を行うのは非常に危険です。優秀なプロジェクトマネージャーを目指すならば数字だけを見ずに、プロジェクトのあらゆる資源に目を配り、その状態を確認するように心がけることが大切だと思います。
余談ですが、某銀行の20万人月の案件って、字面だけ見るとなんか面白みがありますよね。理屈の上では20万人が一つのところに集まって、1ヶ月すれば大規模システムが出来上がるとか考えると・・・。
以上になります。ご覧頂きありがとうございました。