ASE工具 |
27 |
低的需求蔓延 |
9 |
高级程序设计语言 |
24 |
10天以上的年度培训 |
8 |
质量评估工具 |
19 |
开发团队分布集中 |
8 |
细的岗位分工 |
18 |
高昂的团队士气 |
7 |
有效的客户参与 |
18 |
分层管理机构 |
5 |
正式的成本与进度估计 |
17 |
|
|
影响软件项目生产率的消极因素(以影响程度排序):
项目因素 |
影响程度(%) |
项目因素 |
影响程度(%) |
低质量可交付产品复用 |
-300 |
拥挤的办公空间 |
-27 |
管理人员缺乏经验 |
-90 |
低级语言 |
-25 |
技术人员缺乏经验 |
-87 |
工作场所分散 |
-24 |
高的需求蔓延 |
-77 |
非正式的成本与进度估计 |
-22 |
不适当的CASE工具 |
-75 |
岗位分工不细 |
-15 |
没有使用审查 |
-48 |
没有客户参与 |
-13 |
不适当的管理工具 |
-45 |
没有年度培训 |
-12 |
无效的方法与过程 |
-41 |
平面式的管理结构 |
-8 |
无质量评估 |
-40 |
没有生产率测量 |
-7 |
项目很复杂 |
-35 |
低的团队士气 |
-6 |
过大的进度压力 |
-30 |
|
|
从上面的数据中可以有很多新的发现,当然是仁者见仁,智者见智:
◆同一要素的不同影响:相同的项目因素,例如“管理人员经验”,对项目生产率的正面影响为65%,也就是说管理人员具备高质量的管理经验,最高可以使生产率提升65%;而蹩脚的管理人员却对生产率造成最高90%的下降。65%对比-90%,并不相同,这一点在“需求蔓延”上面表现的最为突出,是9%对比-77%。这说明了相同的事情如果做的不好,带来的负面影响远远大于将其做好而带来的积极影响;
◆产品/模块复用:复用可以包括平台化开发、模块重用等,高质量产品复用所带来的收益是惊人的,但是如果有问题的模块被复用,就会对相关产品均造成负面影响,这种影响被批量放大,解决起来也更加困难;
◆人的问题:我们会发现管理人员、技术人员的能力经验对项目造成很大的影响,在这方面的努力会得到很好的回报:不少公司愿意在营销运作、过程改进、设备引进等方面投入巨资,在引入和培训人才方面缺乏力度,初衷是认为“人”在短期内不可改变,即便是这样,对“人”视而不见,长期看来只能是在低水平踏步;另一个问题,项目经理往往会认为项目团队的成员是短板,事实却常常相反,项目失利源于经理的经验不足,对项目丧失控制,“能力越大,责任越大(“With Great Power, Comes Great Responsibility”,Uncle Ben to Peter Parker in Spider-Man)”,不断提升应该是管理者的必修课;
◆需求:产品需求可以看作射击的目标,如果目标没有找准或是错误的,项目必定走向失败。需求对于项目的重大意义无论怎么强调都是不为过的,几乎每个项目经理都会被“需求蔓延/变更”折磨过,但是真正能够从中吸取教训的比例却相当少;
◆管理工具/编程语言:运用恰当的管理工具/编程语言会极大的提高工作效率,例如项目管理工具、配置管理工具、团队交流工具、集成开发环境等