扬子 发表于 2003-5-2 16:00:00

大型SI类系统研发中的项目管理 [转帖]-->heroli转移

汤海京

一、SI的兴起—中国软件产业的一个“机会”

顾名思义,SI就是系统集成的意思。系统集成的概念在IT业界一直十分模糊,假如你经营一家攒机店,假如你是做EAI的或是做MIS的,都可以标榜自己是做系统集成的公司。由于笔者是做软件的,所以本文我所讲的SI仅限于软件产业。
在当今社会中,企业信息化浪潮一浪高过一浪,SI的概念也被炒得沸沸扬扬,许多软件企业已经达到了言必称系统集成的地步,笔者认为,这虽然有些过热,但SI的确是中国软件产业的一个机会。

众所周知,软件在概念上被划分成几个层次,有操作系统、数据库、中间件、开发平台和应用软件等等,每个层次都有各自的霸主,比如微软和Unix/Linux就基本垄断了操作系统的市场,Oracle等厂商在数据库领域的称雄,BEA以及IBM的中间件产品,微软的开发工具集以及诸多的知名国外厂商在应用软件领域的地位,都是我们国内软件企业所望尘莫及的。

大家仔细分析一下就能够发现,这些国外的老牌软件企业哪个都是有10年以上的积累,做操作系统等高技术含量的产品,我们根本没有实力和人家抗衡。

但是,做软件SI研发就不同了,既然是做项目,大家在技术水平上基本没什么差距,所差的就是项目管理的经验,笔者写下本文的目的就是总结了自己在做联想SCM外挂系统开发的项目经理时的一些经验和体会,供大家分享,也欢迎各位提出宝贵的意见!

二、什么是SI中的项目管理---“享受软件开发”

为了保证SI系统开发成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。这些方法旨在指导开发者进行工程化的系统开发,从而加快SI系统开发的速度、保证质量、以及降低开发成本。工程化的系统开发方法确实在开发实践中取得了一定的效果。

SI系统开发的项目管理是根据管理科学的理论,联系SI系统开发的实际,保证工程化系统开发方法顺利实施的管理实践。它包括SI系统开发中的项目评估及可行性分析、人员管理、进度管理及成本控制等方面。

所谓的项目管理,笔者认为其形式上是由项目经理通过对项目组成员的管理,最终完成项目的开发,提升客户满意度,但实际上,项目经理的作用越大,风险也就越大,软件开发中的“个人英雄主义问题”就出现了。当然,笔者非常肯定“大师”,“大虾”在项目中的巨大作用,但这些都是做小项目时的风格,一旦你参与甚至管理一个大型的SI类项目的时候,就会发现一套实用的流程和几个清楚的模版要比一个项目经理更重要,如果制订了好的流程和模版,项目经理会工作得十分轻松愉快,项目组开发成员也会充分享受到软件工程和CMM给你带来的享受。

三、SI类项目进程中的角色扮演与职责划分---SI类项目中的“五角色”

当然,任何一种项目管理方法最终是要由人来实施的,人们在实施过程中不可避免地要遇到许多项目管理方面的问题,如何正确对待、解决这些问题,直接关系到SI系统开发的成败。

目前IT界虽有许多关于SI系统开发中项目管理方面的问题的讨论,但大多局限于针对理想开发环境中的理想开发模型的讨论。而实际的开发环境和开发模型却各不相同,它受到各种客观因素的影响,忽略这些因素,或者回避、不解决存在的问题,必将导致开发工作的不完善、甚至于失败。本文就是要通过讨论如何处理实际SI系统开发中一些重要因素之间的关系,分析项目管理中存在的矛盾,来揭示其中存在的问题并探讨解决的方案。

笔者认为,在大型SI类项目研发的过程中,大致有两大类五种角色:用户方和开发方;如果将他们细分一下,大家不难发现,在一个项目中有如下几类人:

用户方项目经理:他是开发项目的组织者,负有开发项目的计划、系统的阶段验收及对系统整体进度的监控、经费的使用、与开发方的项目管理人员工作的协调、用户方的使用人员的组织与培训等职责。
  用户方业务人员:SI系统的需求的提出者,也是SI系统的最终用户。他们是对应用系统开发成功与否的最终评判者,当然他们也是项目的测试角色,一般情况下可以做到确认测试。
  用户方决策层:SI系统开发的最终决策机构,决策层要对SI系统开发的项目的上马、经费的预算以及系统所要达到的总目标等作出决策。其决策直接关系到SI系统的开发成功与顺利实施。
  开发方项目经理:负责项目的计划、开发人员的组织与调度、开发进度的检查、以及与用户方项目管理人员工作的协调。
  开发方软件研发人员:根据用户方的需求、按照项目的计划及进度进行系统设计,开发并完成单元测试。

四、灵活运用CMM和SE---SI类项目的“关键三要素”

熟悉软件工程的人都知道,CMM和SE都是放之四海而皆准的公理,其准确性已经不许要我们讨论了。但是,就像马克思主义一样,中国没有完全照搬,而是结合了自己的实践,总结出了毛泽东思想和邓小平理论。我们在做项目的时候,对待CMM和SE也不能完全照搬,主要还是应该在其理论的指导下,结合自己的项目情况,定义出适合自己的项目管理方式和方法。

笔者在带项目组的实践中发现,有三样东西是最实用的,那就是项目习惯和实用模版以及沟通学习。所谓的项目管理流程,具个例子说就是比如每周开一次项目例会,每天提交一次问题列表,编码阶段采用Daily Build等等习惯性的做法,笔者成其为“项目习惯”,“项目习惯”一旦养成,SI研发的效率会成倍的提高。

根据CMM和SE的思想制作适合自己项目的文档模版也是十分必要的,模版的制订一定要让大家认可,并且简单实用,千万不能为了文档而文档。当然,以上两点都需要项目组全体成员共同制定,共同完成,在这其中,项目经理更像是一个监督者。

SI类项目的研发工作现在非常多,它包含了EAI、MIS、企业现有系统的升级和改造等等诸多方向,其共性在于都是业务驱动的项目,也就是说,在项目中有两类人---业务人员和研发人员,由于大家看问题的着眼点不同,一个业务擅长一个技术擅长,这样非常不利于项目管理,所以良好的沟通和互相学习的精神也是SI类项目成败的关键。

总之,项目习惯、实用模版和沟通学习是笔者认为的SI类项目管理的三个要素。

五、大型SI类系统研发中项目管理总结—“IT冬天里的一把火”

面对IT行业的寒冬,许多软件企业已经认识到了做SI是一个新的利润增长点,当然,他们的方向是没有错误的,做此类项目最缺乏的就是项目管理的方式和方法。

冬天来了,春天还会远吗?所以笔者写下了这篇文章,目的就是想给这把火里添上几根柴,让他烧得再大一点,照亮这即将破晓的寒夜,迎来IT产业的又一个春天。
页: [1]
查看完整版本: 大型SI类系统研发中的项目管理 [转帖]-->heroli转移