« MS PlannerはRedmineと違って使いにくいのは複雑なワークフロー管理ができないから | トップページ | いいねをもらえなくて鬱になる負のインセンティブが働くという事象 »

2021/10/24

ソフトウェアPJの工数に対して工期が3乗根に比例する経験則の理由

ソフトウェアPJの工数に対して工期が3乗根に比例する経験則の理由について、参考になるツイートを見つけたのでメモ。

【参考】
広木 大地/ エンジニアリング組織論への招待さんはTwitterを使っています 「ソフトウェアPJの工数に対して工期が3乗根に比例することが経験的に知られている。 しかし、なぜそうなるかについては説明がされていない。 これは、一般的なソフトウェアプロジェクトのリソースヒストグラムが放物線という二次関数になるからだ 工数はその積分であるから三次関数になる。」 / Twitter

広木 大地/ エンジニアリング組織論への招待さんはTwitterを使っています 「リソースヒストグラムを書く-ax^2+bx という放物線を0 - b/a の区間で積分するとb^3/(6a^2)となる。」 / Twitter

PM(プロジェクトマネージャー)になったら絶対に読むべきおすすめの本6選(転載) | Books&Apps

ソフトウェア見積り | スティーブ マコネル」では、統計に基づくスケジュールの基本公式:
スケジュール(月)=3.0×人月(^1/3)
が載っていて、よく知られている。

でも、なぜスケジュールは工数の3乗根になるのか、という理由が分かってなかった。

僕の理解では、こんなイメージ。
一般的なソフトウェアPJの要員計画(リソースヒストグラム)x日数のグラフを書くと、放物線(y=ax^2)になる。
工数は、要員計画の積分値だから、3次間数になる。

工数=日数^3
より、
スケジュール(日数、つまり工期)=工数^(1/3)
となる。

このロジックで気になる点は、ソフトウェアPJの要員計画(リソースヒストグラム)が放物線になるのか?
その前提条件は正しいのか?

一般的に、要件定義や設計フェーズは少数精鋭のSEが担当し、開発・テスト工程で大量のプログラマを雇って、最後のリリース直前にPJメンバーを一気に減らす。
保守フェーズでは、たくさんのメンバーは不要なので、開発経験があり優秀なプログラマとSEのみの少人数チームになる。

だから、経験から考えると、要員計画は定数でもないし1次関数でもない。
よって、グラフは、1次関数の次の2次関数という放物線になるだろう、という推測は直観的には正しいと思う。

ただし、実際の要員計画は離散的だし、左右対称のグラフでもないから、あくまでも目安として使うだけだろう。

|

« MS PlannerはRedmineと違って使いにくいのは複雑なワークフロー管理ができないから | トップページ | いいねをもらえなくて鬱になる負のインセンティブが働くという事象 »

プロジェクトマネジメント」カテゴリの記事

ソフトウェア工学」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« MS PlannerはRedmineと違って使いにくいのは複雑なワークフロー管理ができないから | トップページ | いいねをもらえなくて鬱になる負のインセンティブが働くという事象 »