软件生产力提升的关键因素与模型检查挑战
1. 软件生产力的影响因素
在软件领域,技术手段的评估需要放在软件长期迭代演化的背景下进行。那些随着时间推移不具备成本效益,且在面对变化时不够稳健的技术,从长远来看并不能有效提升软件生产力,或者只能在非常有限的场景中发挥作用。
软件开发者的生产力差异巨大,且这种差异与所使用的工具和技术并无直接关联。同时,团队的积极性通常是软件项目成功的关键因素。像CMM和ISO 9000这类模型和标准,虽有助于评估组织内软件流程的成熟度,但这与开发团队的生产力并无必然联系。有些流程不成熟的团队可能具有很高的生产力,而一些流程成熟的组织却可能陷入停滞。
众多作者指出,技术对软件生产力的影响有限。个体开发者之间的生产力差异巨大,有观点认为这种差异可达10:1甚至50:1。团队沟通和积极性等因素在项目成功中所起的作用,远远超过任何技术因素。例如,Alistair Cockburn根据20年的项目经验指出:
- 几乎任何方法论都能在某些项目中发挥作用。
- 任何方法论也都可能在某些项目中失败。
- 重型流程可能取得成功。
- 轻型流程更常取得成功,且项目中的人员往往将成功归功于方法论的轻量级。
DeMarco和Lister在相关著作中总结,工作中的主要问题本质上更多是社会学层面的,而非技术层面的。
“敏捷软件开发宣言”提出应重视以下几点:
- 个体与互动高于流程与工具。
- 可运行的软件高于详尽的文档。
- 客户协作高于合同谈判。
- 响应变化高于遵循计划。
虽然该宣言并未宣称敏捷流程能长期提升生产力,但显然,敏捷软件开发将变
超级会员免费看
订阅专栏 解锁全文
1975

被折叠的 条评论
为什么被折叠?



