2

我正在阅读“Mythical Man-Month”,在 20 周年纪念版的更新接近尾声时,它谈到了 Boehm 的模型以及基于项目的人工月执行工作量的最佳交付时间。

在讨论 Boehm 的模型时,他的陈述是:

他的结果坚定地证实了 MM-M 的断言,即人与月之间的权衡远非线性,人月作为生产力的衡量标准确实是神话般的。特别是,他发现:[16]

• 第一次装运有一个成本最优的计划时间,T = 2.5MM 1/3。也就是说,以月为单位的最佳时间是预期工作量(以人月为单位)的立方根,这个数字来自于他的模型中的规模估计和其他因素。最佳人员配备曲线是必然的结果。

• 随着计划进度比最优时间长,成本曲线缓慢上升。有更多时间的人需要更多时间。

• 随着计划进度比最佳进度短,成本曲线急剧上升。

• 无论申请的人数多少,几乎没有任何项目在少于计算出的最佳时间表的 3/4 内取得成功!当更高的管理层要求不可能的时间表承诺时,这个可引用的结果为软件经理提供了坚实的弹药

我在实际应用此语句时遇到了一些困难,我想知道是否有人对这将如何为软件估计提供信息有任何见解?我特别想解释估计公式,如下所示: 成本最优调度时间图

这似乎表明,对于一个只有 1 个工作月的项目,成本最优的交付时间为 2.5 个月。这是有道理的,但是,如果您假设有一个项目需要 5 个人工月的工作量,那么该图表明成本最优的交付时间是 4 个月!

这是否表明应该分配更多的人力在这个时间范围内交付,或者估计太大?

此外,您如何根据该模型估算最佳人员配备水平?谢谢

4

2 回答 2

3

本质上,所有模型都是错误的,但有些模型是有用的。-- 乔治 EP 盒

我手头没有任何参考资料,但我认为这个模型源自大型瀑布式项目的数据。对于像 1 或 5 个人月这样的小型项目,该模型可能不太适用。如果您尝试将模型推断得离有效范围太远,模型会给您错误的结果。

尽管这也是事实,尤其是在一个小型项目中,并不总是能够完成有助于交付成果的工作。例如,当等待继续进行所需的外部依赖项时。

我已经使用这些模型对相同尺寸范围内和具有相似流程特征的项目报价进行完整性检查。不是机械地,而是作为指标来查看计划/报价中是否有需要密切关注的领域。

此外,您如何根据该模型估算最佳人员配备水平?

如果您有 T 个月的最佳持续时间和 MM 人*月的工作量,则您分配人员在 T 时间内完成 MM 工作。您的平均人员配备水平是 MM/T 人。

当然,在实践中,拥有稳定的 MM/T 人员配置水平并不是最优的。从一个小团队开始解决高级架构问题,然后只有在有对新人有用的事情后才发展团队。

于 2009-12-08T08:24:47.590 回答
1

与任何模型一样,没有必要盲目相信它,尤其是当模型真的很容易测试时:

Effort in MM Opt. Dur. Avg. Team Size
   1           2.5           0.4
   2           3.1           0.6
   3           3.6           0.8
   4           4.0           1.0
   5           4.3           1.2
   6           4.5           1.3
   7           4.8           1.5
   8           5.0           1.6
   9           5.2           1.7
  10           5.4           1.9
  20           6.8           2.9
  30           7.8           3.9
  40           8.5           4.7
  50           9.2           5.4
  60           9.8           6.1
  70          10.3           6.8
  80          10.8           7.4
  90          11.2           8.0
 100          11.6           8.6
 200          14.6          13.7
 300          16.7          17.9
 400          18.4          21.7
 500          19.8          25.2
 600          21.1          28.5
 700          22.2          31.5
 800          23.2          34.5
 900          24.1          37.3
1000          25.0          40.0

据我所见,对于目前在商业环境中普遍存在的长达 10 个人月的软件开发项目(内部项目在非软件公司中运行),模型产生的最佳数据并不反映典型的持续时间和团队规模.

The figures for projects over 20 man-months become much more believable, especially where efforts are tightly coupled.

As a result, I'd avoid using the formula for anything but a quick order of magnitude guestimate for projects of over 20 man-months in duration. For anything less than that a quick planning session would give you a more accurate and trustworthy result.

于 2009-12-08T12:18:48.950 回答