大型软件项目失败的原因
大型软件项目失败的原因
——12个与管理有关的问题
黄锡滋 陈光宇
美国软件工程研究所(SET)W.S. Humphrey 此前发表文章,分析了与大型软件项目失败有关的12个涉及管理的问题。W.S. Humphrey 是资深软件工程专家,是IBM原技术开发副总裁,曾经在IBM公司领导软件开发27年,负责IBM全部商业软件开发工作。到SEI工作后,领导了CMM 和CMMI模型研发。凭借其丰富的软件开发、管理经验,该文的分析结果,对从事软件开发和管理的人士,具有重要参考价值。
本文下面的内容,是W.S. Humphrey 文章的重点摘要。
一、背景
* 软件项目失败经常发生,大型软件项目最容易失败 。
* 在CMM 和CMMI 模型未发明前,主要问题是缺乏计划。
* 1994年到2000年间,由于软件开发管理改进,开发项目成功率有所提高。
* 图1 展示了项目成功率变化过程。其中成功项目是指完全实现预期功能,项目费用和进度,在预期值的10%的范围;挑战项目是指严重延误,大量超支或功能降低的项目;失败项目是指完全无法交付使用的项目。
图1 大型软件项目成功率变化图
* 图2显示的是不同规模软件项目成功率数据,软件规模用投资费用表示。从图2可见,近60%的小型项目获得成功,而特大型项目极少成功。
图2 不同规模软件项目成功率
二 问题分析
问题1 是否所有的大型软件项目都无法管理?
* 只有个别极具挑战性和风险的大型项目,获得成功,其中一例
是美国空军‘指挥中心处理和显示系统置换项目(CCPDSR-R)’,该项目在开发峰值期有100人参加。第二例是IBM OS/360 操作系统,其开发队伍超过3000人,历时30个月,先后发布了19个版本。
* 除个别案例外,大型软件项目成功率非常低,成为项目管理的巨大挑战。
问题2 为什么大型软件项目难于管理?
* 历史上最早的大型管理系统是军队管理,以独裁式管理为特征。现代的工厂管理方式,仍然是独裁式。
* 独裁式、等级式管理方法,不适应大型软件项目管理的需要。 问题3 为什么独裁式管理对软件项目无效?
* 管理传统的硬件生产和管理软件开发的主要差别,在于管理的可视性。
问题4 为什么可视性成为软件管理的问题?
* 软件项目管理者不能准确掌握项目现状。
* 对于软件开发中不断出现和需要处理的各种细微问题,管理人员无法及时掌握,导致问题积累发展为巨大而明显的问题。
问题5 管理者为什么不能向开发者询问?
* 开发者只知道他们正在做的工作,他们没有个人计划,无法度量和跟踪工作进展。
* 除非开发者计划和跟踪个人的工作,则其工作进展不可预计。如果开发者个人的工作不可预计,则开发团队的工作进度和费用也不可预计。
* 总之,如果开发者不能计划和跟踪他们的工作,则整个软件项目不能控制和管理。
问题6 为什么计划的项目会失败?
* 现在大多数采用CMM和CMMI 模型的软件项目,已经有计划安排,并采用项目评估和评审技术(PERT),为什么仍然会失败?
* 问题在于大多数软件项目计划是不准确的、不严密的和错误的。
问题7 为什么不坚持制定详细计划?
* 传统管理劳动者的方法,对于管理高技术工作,特别是管理软件开发是无效的。
问题8 为什么不告诉和要求开发者计划他们的工作?
* 多数开发者只愿写程序,不愿订计划,他们认为订计划是管理者的工作。
* 开发者不知道怎样订计划。
* 要求开发者制定完备的、详细的计划,意味着开发者有权定义自己的过程、方法和日程,但是很少有管理者愿意放弃这种传统意义上属于自己的权利。
问题9 怎样才能使开发者制定一个好的计划?
* 必须处理好两个问题,第一是怎样才能使开发者和开发团队制定和忠实执行计划;第二是怎样使管理者信任开发者能够计划和管理好他们的工作。
* 为了使开发者制定好和执行好计划,必须使开发者具有相应的
技能,必须进行培训。
问题10 怎样使管理者信任开发者制定和管理他们的计划? * 这是全部问题中最具风险之处:管理者能否相信开发者能够制定和管理他们的计划并实现管理者的预期目标?
* 根本问题在于独裁式管理和信任式管理的区别。
问题11 改变管理方式会带来什么风险?
* 权衡管理方式改变的风险和不改变的风险,是对管理者的严重挑战。
* 方式改变的风险来自两方面:第一是必须花费时间和费用培训开发者制定计划,跟踪工作进展,必须培训管理者使用新的管理系统和方法;第二是使用这种管理方法于实际项目中的风险。
* 鉴于几乎所有的大型软件项目,按照传统的管理方法,都是失败的,所以最大的风险是不求改变。
问题12 在改变管理方式方面,迄今有哪些经验?
* 按照SEI 的团队软件过程(TSP),如果能够为开发人员提供正确、必要的培训和支持,如果能够遵循TSP中规定的策略,开发团队将积极的、正确的完成他们的工作;开发团队的个人实践得到规定、测量和管理;开发团队的职能得到规定、测量和管理;项目现状和进度,每周有准确报告提供。尽管这些并不一定能确保项目成功,这种方法已经在数十个大型软件项目中实施。
* 这种方法已经在具有100个左右成员的开发团队的应用中,并证明有效。
* 这种方法具有推广到更大规模软件项目的可能,但是现在还没有在超过100名专业人员的项目中实施的经验。
参考文献:
[1] Watts S. Humphrey, Why Big Software Projects Fail: The 12 Key Questions, CrossTalk March 2005
…… 此处隐藏:572字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




