软件工程开发告别技术精英时代 工程化管理

2008-04-09 04:11:54来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

没有规则的软件开发过程带来的只可能是无法预料的结果,这是很多项目管理者在亲身经历了一次次的项目失败之后,逐渐领悟到的道理。尽管有人依然怀念日渐远去的技术精英时代,但随着软件项目的规模不断加大,参与人员的增多,对规范性的要求愈加严格,告别个人英雄主义的开发模式成为必然,基于软件项目管理的、工程化的软件开发时代已经来临。

  软件项目管理的作用一方面是提高质量,降低成本,而另一方面则是软件的工程化开发提供保障。

  依赖软件技术精英的时代已经一去不会返了。很多项目管理者在实际开发中,经历了多次可怕的梦魇:一次次的失败,一次次的返工。比如,不少项目管理者纷纷提到软件需求变更带来的可怕影响。但是正如完整的法律体制不能制止犯罪,没有完整的法律体制犯罪会更加猖獗一样,频繁的软件变更固然可怕,而没有一个完整的项目管理对应机制,我们无法相像项目最终会是一个什么样子。运用项目管理的经验和方法是软件项目成功的前提和保证,这已是今天的软件业内人士的共识!

  软件项目管理的定义

  项目普遍存在于人们的工作和生活中,如何管理好这些项目就是一项需要研究的任务。例如商品采购、生日聚会等项目,事前在心里(或者纸张上)有个计划,项目实施过程中在有意识地控制这个计划,这其实就是在进行项目管理。另外,设想一下,让你负责字处理系统软件这样大的项目,这样的系统需要非常高的稳定性、良好的人机交互接口。显然,这个项目不是几个人几天就可以完成的,有上百人年、甚至上千人年的工作量,需要很多子系统组合在一起,完成一个相互关联的系统,还要考虑系统的架构、安全性、如何协同工作、谁做什么、哪个部分先做哪个后做、如何关联等,出现风险如何处理等等。同时,一个管理者不可能了解所有的事情,认识所有的人,如何保证所有的项目人员不疲倦,永远有干劲儿。这一切都要从系统工程的角度进行管理,这就是软件项目管理产生的主要原因。

  软件项目管理是组织为了实现其目标,利用各种有效的手段,对软件项目各阶段工作进行计划、组织、协调、指挥、控制,以取得良好经济效益的各项活动的总和。为了满足甚至超越项目有关人员对项目的需求和期望,项目管理会将理论知识、技能、工具和技巧应用到软件项目的活动中去。

  要想满足或超过项目相关人员的需求和期望,我们需要在下面这些相互间有冲突的要求中寻求平衡:

  1. 范围、时间、成本和质量

  2. 有不同需求和期望的项目干系人员

  3. 明确表示出来的要求(需求)和未明确表达的要求(期望)

  软件项目是一种特殊的项目,它创造的惟一产品或者服务是逻辑载体,没有具体的形状和尺寸。它提供的产品或服务是逻辑的,具有独特性、临时性和周期性的特点。软件开发不同于其他产品的制造,软件过程更多的是设计过程(没有制造过程)。另外,软件开发不需要使用大量的物质资源,而主要是人力资源。并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。

  从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动,软件开发项目管理是以最合理、最有效、最经济的手段保证软件开发项目的成功完成。

  软件开发是将思想用某种形式表达出来的过程,它涉及到的多是无形的东西,既看不到质,也看不到量,从而使项目管理的难度极大。软件开发是耗费资金的项目,但到底投入多少,能达到什么样的地步?都是未知数,从而使得其投资风险系数较大。

  软件项目管理不是一件容易的工作,变化、风险、矛盾、冲突等是任何项目都无法回避的现实环境。所以,项目管理是一项复杂的管理活动,包括:项目范围管理、项目进度管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目变更管理等多项管理实践,而在一个实际项目的进展过程中,这些管理实践又是相互融合、相互关联的,是复杂的、专业化的,因此要求有专职的项目经理或者专门的项目管理机构来完成。它对项目经理提出了很高的要求,正如Mulcahy所言,“项目经理的工作是‘奇妙的’、‘伟大的’,但是也是非常技巧的”

  软件项目管理的作用

  在软件开发中,项目管理起着重要的作用,一方面是提高质量,降低成本的保障,另一方面,也是更重要的一点,它是软件工程化开发的前提。软件项目与其他项目相比,有着许多管理方面的共性,但同时也有自己的特殊性。所以,在软件开发中,忽视了项目管理或不按规律去办,往往会导致开发的失败或质量的下降。

  实际上,软件项目管理的意义还不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。项目管理的质量与软件产品的质量有着直接的对应关系。因此,提高项目管理的能力对于软件组织的软件生产力的提高是最为重要的。

  项目管理类似导弹发射控制过程,需要一开始就设定好目标,然后在飞行中锁定目标,同时不断调整导弹的方向,使之不能偏离正常的轨道,最终击中目标。

  全球经济对于软件依赖度越来越高,也越来越广泛,这也突显出软件对于现代企业的重要性。在全球各地,软件快速的进步对全球经济的成长扮演了重要角色。不论是你所使用的手机、PDA、计算机、金融卡等相关产品,都脱离不了软件,从以上这些观点来看,软件是现代世界上不可或缺的一部份。而在这些系统越大、越复杂的同时,使得从事软件工业的同仁对于软件开发及管理的知识越显得缺乏,使得有效的执行项目管理更加地重要。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:渠道中的订单管理

下一篇:建设项目成本控制要点