LoginSignup
44
41

More than 5 years have passed since last update.

人月の神話について調べてみたので備忘録

Last updated at Posted at 2014-10-05

一緒に仕事しているエンジニアに、「管理やるなら最低これは読んどけっ」と毎月言われ続け、本も貸してもらっているけどまだ読めてない。。
難しそうな書籍のイメージが高いので一旦webでどんな事を言ってるのか理解しようとまとめてみた。まだ途中なので、随時アップデートできればと。
(注意)自分の脳では理解不足、誤解しているところあるかもしれないです。

人月の神話

概要

1975年に刊行された、ソフトウェアプロジェクト管理の書籍。
IBMでの経験が元に、ブルックスが考案した。
「遅れているソフトウェアプロジェクトへの追加要因は更に遅らせるだけ」と説いている。
「ソフトウェア工学のバイブル」と呼ばれている。
プロトタイピングを支持している。

タールの沼

プロジェクトは底なし沼のように、一度入ってしまうと抜け出せない。
遅れているシステム開発もこのようなもので、もがけがもがくほど、遅れてしまう。

人月の神話

人月とは

ソフトフェア実装にかかる工数を人と時間の掛け算で表したもの。

5人が3ヶ月かかって作れるシステムの工数
5人 * 3ヶ月 = 15人月

「コストは実際に人月と月数の積に比例する。が、進捗はそうでない。したがって、仕事の大きさを測る単位としての人月は、疑うべき危険な神話なのだ。人月とは、人と月とが互いに交換できるという意味だからである」。

ブルックスの法則

遅れているプロジェクトに人員を追加すると、さらに遅れてしまうという見解。
プロジェクト管理者は何度も繰り返しこのような過ちをおかしてしまう。

追加人員がなぜ遅れるのか?

  • プログラマの学習コスト
  • コミュニケーションのオーバーヘッド
  • グループ内のコミュニケーション量の公式:n(n - 1) / 2
    • 例: 50人のプログラマ -> 50(50 - 1) / 2 = 1225のコミュニケーション経路

どうするべきか?

  • スケジュールを立て直す(たっぷり時間をとって、仕事が慎重に、完全にできるようにする)。
  • 仕事を縮小する。遅延による二次コストは非常に高い。

セカンドシステム症候群

ソフトウェア開発者が設計するセカンドシステムは、そのソフトウェア開発者がそれまで設計したもののうち最も危険なシステム。

時間などの制約によって実現不可だった機能をセカンドシステムで盛り込もうとする。
ファーストシステムでは現実的だった技術が時代遅れになってしまった事に気づかず、無駄に作ってしまう。
最終的には本筋が見えなくなってしまう。

参考

人月の神話 wikipedia
http://ja.wikipedia.org/wiki/%E4%BA%BA%E6%9C%88%E3%81%AE%E7%A5%9E%E8%A9%B1
セカンドシステム症候群 - Plan9日記
http://d.hatena.ne.jp/oraccha/20090422/1240407037
なーした日記: セカンドシステム症候群
http://suto3.mo-blog.jp/nashita/2006/03/second_system_s_ca7a.html

44
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
41