调查:软件开发过程中工作量(成本)都是如何分布的?

就著名的《人月神话》(含《没有银弹》)中有关软件生产率的问题,最近有意整理一篇相关的文字。在这里跟大家做一个调查。 每一个项目经理,都会关注项目的成本。 我这里所指的成本,只是指软件生产过程中的成本(工作量)。 至于其他的成本,例如销售、采购等等的费用都不算。

人月神话中是这么说的:
引用
所有软件活动包括根本任务——打造由抽象软件实体构成的复杂概念结构,次要任务——使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。


引用
我认为软件开发中困难的部分是规格化、设计和测试这些概念上的结构,而不是对概念进行表达和对实现逼真程度进行验证。当然,我们还是会犯一些语法错误,但是和绝大多数系统中的概念错误相比,它们是微不足道的。


为了验证一下真的如《人月神话》中的结论,我想请大家根据自己的实际经验头一下票,验证一下。

以我的理解,将软件生产过程拆成 调研咨询,需求,设计,开发,测试(QA)。 要特别提一下,我这里的设计,自然包含了详细设计,即使你在没有任何设计的前提下去写代码,事实上你也肯定要去考虑设计的。

我把软件生产过程中的全部工作分为2个部分,合计为100%。 打造概念结构的工作属于A类,表达这个概念结构属于B类。
调研咨询,需求,设计近似属于A类,而开发则属于B类。
测试(QA)是对前面两方面的验证,用来测试概念化思维工作的成分你计算为A类,还是用来测试构造工作的作为B类。(如果你的项目里对于测试时会明确区分问题发生的原因是设计原因引起还是编码引起还是需求引起的话,就很好区分)

投票时如下:
A类: 50%
B类: 50%

如果大家对具体工作所属类别的划分有意见,或者对于该书的论点有意见,请在投票的同时写下你的观点和分析。热烈欢迎就这个问题交换意见。

猜你喜欢

转载自lei.iteye.com/blog/413038
今日推荐