二.项目概况及背景
我们公司是亚洲领先的电子商务解决方案供应商,在J2EE架构的项目执行方面有丰富的经验,结合RUP形成了自己的一套电子商务项目实施方法论,并在多个项目中成功进行实施。同时,由于具体项目时间和成本的限制,也出现了许多问题,主要有以下两点:
- 项目交付后,用户提出很多的修改意见,有些甚至涉及系统架构的修改:出现这种情况的主要原因是很多项目虽然是采用增量迭代式的开发周期,但是在部署前才发布版本,用户只是在项目部署后才看到真正的系统,因此会发现很多界面、流程等方面的问题;
- 对于用户提交BUG的修改周期过长:开发人员在作开发的时候,对于单元测试的重视程度不够,模块开发结束后就提交给测试人员进行测试,而测试人员由于时间的关系,并不能发现所有的问题;在用户提交BUG后,开发人员由于项目接近尾声,对于代码的修改产生惰性,同时又没有形成有效的回归测试方法,因此,修改的周期比较长。
针对XP的核心价值,可以看到,如果我们能够加强与用户的沟通、增加项目中测试实施的力度、提高开发人员的勇气,就可以从一定程度上解决上述问题。
从2001年开始,公司内部展开对于XP等敏捷方法的研究,希望能够借鉴一些做法,来完善项目方法论。
2002年5月,我们决定在公司的一个新的项目中启用XP的一些非常好的实践,来检验其效果。该项目是为一家国际知名手机生产厂商的合作伙伴提供手机配件定购、申请、回收等服务,项目的情况如下表所示:
条目 | 描述 |
项目名称 | 合作伙伴管理系统 |
处理工作流程 | 9个 |
项目周期 | 43个工作日 |
项目金额 | 25万 |
项目小组人员 | 5人,其中资深顾问2名 |
从上表中可以看出,该项目是一个小型项目,而且项目小组成员对于XP在项目开始之前都有一定的了解,另一方面,客户要求的项目周期比我们预期估计的时间有一定的余地,因此我们决定利用这个项目进行XP的试验性实践。