漫谈企业应用项目的软件开发过程 一个PRM系统实施的经验与教训

发表于:2008-04-29来源:作者:点击数: 标签:软件开发系统企业PRM教训
关键字:PRM系统本文以一个PRM项目为例,探讨了目前国内软件开发企业在软件开发过程中,尤其是企业应用系统项目开发中,面临的问题以及如何利用 敏捷 软件开发方法的 解决方案 。 一、项目与公司背景 该项目是一个PRM(PartnerRelationshipManagement)系统,为
关键字:PRM系统本文以一个PRM项目为例, 探讨了目前国内软件开发企业在软件开发过程中,尤其是企业应用系统项目开发中,面临的问题以及如何利用敏捷软件开发方法的解决方案。 
一、 项目与公司背景

该项目是一个PRM (Partner Relationship Management)系统,为世界著名的快速消费品品牌在中国大陆的合作伙伴提供订单管理以及其它辅助功能。该系统原来是基于PHP实现的,已经运行将近2年的时间,但是由于系统功能问题,需要对系统进行重新开发,新的系统基于J2EE框架实现。

项目预期情况如下:

项目开始时间: 2002年7月1日 
预期交付时间: 2002年9月1日 
项目金额: 70万RMB 

项目开发商是亚洲领先的电子商务解决方案供应商,在J2EE架构的项目执行方面有丰富的经验,结合RUP与Web Software Engineering形成了自己的一套电子商务项目实施方法论,并在多个项目中成功进行实施。

二、 项目实施情况

项目由于客户预算等原因,原有的软、硬件系统继续使用,同时,应用系统平台也采用开源项目。

项目部署时的系统情况如下:

硬件:   
操作系统: Solaris 
主频: 400M 
内存: 1G 
硬盘: 20G 
应用平台:   
Web服务器: Apache 1.3.21 
应用服务器: Tomcat 4.0.6 
数据库服务器: Oracle 8.1.7 

项目人员配置与项目规模:

项目团队   
项目经理: 1 
技术经理: 1(兼) 
客户经理: 1 
开发人员: 4 
测试人员: 2 
HTML人员: 1(兼) 
项目规模   
Use Case: 32 
代码行数: 65000 
JSP页面: 198 

项目真实执行情况:

开始日期: 2002/7/1 
交付日期: 2002/9/2 
验收日期: 2003/5/8 
维护时间: 230 人小时 
目前项目盈利: 20000 

目前,项目由于性能问题,仍然没有验收,维护时间日益增长,目前仍然有30万左右的尾款没有收到;更为严重的是,目前项目开发商正在投标的另一快速消费品行业著名客户的合作伙伴与该客户有很大的重叠,因此,对于潜在项目的招标造成一定的影响。

三、 经验与教训

从项目规模中可以看出,该项目的时间还是比较紧张的;另外一方面,项目交付是在合同规定日期之前完成,而且通过了所有的功能测试。从一定意义上的讲,项目的开发是取得了一定的成功的。

3.1 经验

在项目开发前,项目开发商已经通过其它项目,实施了以XP为代表的敏捷软件开发方法的部分最佳实践,并取得了很大的成功。因此,在该项目的执行过程中,项目开发商继续采用了XP的部分实践以及其它软件开发方法中的推荐做法[1][2]:

每日晨会:在项目实施过程中,每天早晨开发小组都要参加一个持续15分钟左右的会议,由项目经理主持,听取每个成员的进度,并根据进展情况,对于进度和资源进行调整。

由于会议是每天进行的,PM很容易从中获得真实的项目情况-"掀开地毯下面的东西"[4],从而对风险有了较好的控制。 
交叉审核:项目组在最初的时候原本是想采取"成对编程"的实践,但是没有获得物理和管理上的支持,因此,只能采取交叉审核的方式进行。 
需求获取:由PM和一名对于原有系统较熟悉的开发人员进行需求获取和SRS (Software Requirement Specification) 的撰写。技术经理和其它开发人员进行需求的审核。 
分析与设计:由一名开发人员进行系统框架的设计,其它人员进行审核;在系统框架设计进行过程中,由于系统去除订单处理以外的其它部分比较独立,因此,将其它模块分配给开发人员,而将核心部分交与技术经理进行分析与设计。开发人员在每个迭代周期内,都会在分析与设计做完后,每2人一组进行审核。

原文转自:http://www.ltesting.net