适应日益加剧的竞争环境、把握瞬息万变的市场信息是企业得以生存和发展的基础,某大型IT公司估计其产品推迟上市一个月将导致收入减少530万(人民币)、利润减少265万、还要付出另外的研发费用37.5万。这就对产品研发项目提出了更高的要求:如何在有限的资源投入下以更快的速度满足或者超越用户的需求。
在提高研发效率方面,业界已经进行了大量有益的探索和实践,下面是几种较有代表性的见解:
◆过程/流程决定一切(强调过程的重要性);
◆人是生产力的决定因素(强调人的重要性);
◆采用XXX编程工具,可以使您的开发效率提高一个数量级(强调工具的重要性);
◆良好的计划是项目成功的一半(强调项目管理的重要性);
尽管每种见解都有大量的拥趸(无论处于业务还是商务角度),但是仍会遭到大量的挑战而不能自圆其说,从研发项目的实践来看也同样反映了“瞎子摸象”的现象:好像每种见解都是对的,但是又不完全对。
根据美国项目管理协会的定义:“项目管理是在项目活动中运用知识,技能,工具和技术,以便达到项目要求”;项目管理的目标是在给定的资源、预算和时间内安全地完成符合质量要求的项目。以上定义意味着项目的资源、预算、时间和项目范围有着内在的约束关系,在这四个因素已经被“极其乐观”的限定的情况下,项目最终无法完成——项目经理常常会遇到非常紧张的、不可能完成的Deadline,如何应对?项目范围的约束关系告诉我们手中的王牌包括增加人手(有时候人多反帮倒忙,可以参考《人月神话》)、投入更多资源(部分模块外包、使用COTS、购买最好的开发/管理工具)、削减项目范围/需求(承诺在后续版本中提供某些功能,但是用户未必会认同)、降低质量(软件项目交付质量的降低往往意味着客户需求没有完全实现,用户也未必会认同)。转贴于:中国项目管理资源网
更深一个层次,多个因素影响了研发项目的开发效率,片面强调某一个因素而忽略其他的因素,都无法揭示项目实践中遇到的问题。这里引用一个老笑话:
有个警察看到个喝醉的人在路灯下找东西,他就问:你找什么?那个醉鬼说,车钥匙下车时掉了,我在找。警察问:你不在掉的车子附近找,怎么到路灯下找呢。醉鬼说:那里黑啊,这里亮啊,好找!
其实很多项目经理或者咨询机构都在犯类似这个醉鬼的错误,不管是有意或是无意的——试图在自己最熟悉、最容易控制的因素上寻求突破,而对自己陌生的、难以控制的因素却置若罔闻,尽管它可以为项目带来更大的回报。我推测很大程度上是由于“人类本能的需要心理安全感”。
那么,到底哪些因素影响了开发的效率、他们又能够在多大程度上造成影响?下面的资料是Capers Jones在《Software Assessments, Benchmarks, and Best Practices》中使用的数据,这是目前为止最新资料(虽然量化管理是管理追求的较高层次,但现在度量方面的专著却几乎绝迹,可能是商业利益使然)。
影响软件项目生产率的积极因素(以影响程度排序):
项目因素 影响程度(%) 项目因素 影响程度(%)
高质量可交付产品复用 350 正式审查的使用 15
高水平的管理人员经验 65 好的办公室人体工程学 15
高水平的技术人员经验 55 低的项目复杂度 13
有效的方法与过程 35 适度的进度压力 11
有效的管理工具 30 生产率测量 10
有效的CASE工具 27 低的需求蔓延 9
高级程序设计语言 24 10天以上的年度培训 8
质量评估工具 19 开发团队分布集中 8
细的岗位分工 18 高昂的团队士气 7
有效的客户参与 18 分层管理机构 5
正式的成本与进度估计 17
影响软件项目生产率的消极因素
项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~
http://www.leadge.com/pmqhd/index.html