BLOGTIMES
2010/05/30

人月の神話

  softwareengineering 
このエントリーをはてなブックマークに追加

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

今週はノートパソコンのトラブルにだいぶやられてしまって、あまり心が休まる時間がなかったので、たまにはゆっくり本でも読もうと思って、久しぶりにBrooksの人月の神話を読み返していました。普通の人にはあまり面白くない本かもしれませんが、僕にとってはソフトウェア工学の本に目を通すことはゲームをすること並みの楽しみのひとつです。そしてこの人月の神話は商売としてソフトウェアを作る人にとっては、DeMarcoのピープルウェアと並んで一度は目を通しておきたい本の一つでもあります。

人月というのはソフトウェア業界で今日も一般的に使われている1人のエンジニアが1ヶ月働くことを表す作業量の単位ですが、この単位には落とし穴が潜んでいます。この人月はあくまで投入時間の単位であり、成果物の量の単位ではありません。ただ、投入時間とそれに伴う成果物の量は、一定の条件を満たす場合に基本的には比例関係にあるので、投入時間≒成果物の量と考えて、作成しなければならないソフトウェアの規模を人月で表すということも、一般に良く行われています。

僕は投入時間≒成果物の量となるための条件として、少なくとも「(ボトムアップ見積などを行っていて)締め切りが最初から決め打ちになっていない」、「途中でメンバーの増減が行われない」、「メンバーの疲労が過度に蓄積されないような労働時間になっている」を満たす必要があると考えています。これでもかなり厳しい条件ですが、これでも足りないかもしれません。

そのような前提を無視して、机上で「人月÷月=人」という計算をすることは可能ですが、そのような安直な計算方法は時としてPMやメンバーに牙をむきます。単純に考えれば分かることですが、「1人で10ヶ月かけて作った物」と「10人で1ヶ月かけて作ったもの」の成果物の量と質が同じになるわけがありません。・・・・・・が、マネージャーや経営者は時としてそれを忘れてしまっている時があります。そのような発想を強烈に皮肉り、たしなめているのが人月の神話の本質です。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3579
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン