摘要
2004年8月,我作为项目经理开始参与某某银行授信业务系统的开发项目,主要工作职责为需求分析、系统设计和项目管理.系统基本功能包括:业务操作、业务提醒、基础资料、查询统计和权限管理等五个模块.系统采用Struts + Hibernate主流Web应用框架,实现Web应用程序服务器WebSphere与协作应用程序服务器Lotus Domino的高度集成。
项目的成功很大程度上归功于在项目过程中各个阶段对进度和成本的有效管理和控制。本文以该项目为例,结合作者实践,讨论了信息系统项目中的成本管理问题,主要通过在计划阶段做好工作量估算,有效管理和控制风险因素,在实施阶段进行成本跟踪和控制等方法来有效管理和控制项目成本.实施结果…
正文
2004年8月,我作为项目经理开始参与某某银行授信业务系统的开发项目,主要工作职责为需求分析、系统设计和项目管理.当然也做一些编码工作,主要是基础性公用代码和关键核心代码的编写与维护.授信是指银行以自身信用向客户提供贷款(包括项目贷款)、担保、开票信用证、汇票乘兑等业务,授信业务是商业银行资金运作中最为重要的业务之一。开发授信业务系统,提高授信业务的管理水平和运行效率、充分利用共享的信息资源、减小各种风险、运用各种科学的金融分析模型指导业务开展具有十分重要的意义.系统基本功能包括:业务操作、业务提醒、基础资料、查询统计和权限管理等五个模块.系统全面实现授信业务的网上操作,实现流程的上报,审批和管理,大大提高了授信业务工作效率。提供了强大的业务查询和统计功能,便于对授信业务工作的管理和监督.其中业务操作模块实现授信业务工作流程,主要包括正常类授信业务申报、问题类授信业务申报、特殊类授信业务申报和授后监控业务等工作流程。
系统采用Struts + Hibernate主流Web应用框架,开发工具采用WebSphere Studio Application Developer 5.0 (WSAD 5.0),WSAD 5.0集成并扩展了Eclipse 2.0的功能.硬件配置方面:IBM P610小型机用于安装WebSphere 5.0,DELL服务器用于安装Domino R6和SQL Server 2000。实现Web应用程序服务器WebSphere与协作应用程序服务器Lotus Domino的高度集成,并使用Single Sign On(SSO)实现单点登陆.总体架构思想,将表单数据的生成和分析采用关系型数据库来实现,通过WebSphere架构实现业务逻辑的处理,而表单的审核流程由Domino进行驱动.将基于业务为主的J2EE服务系统和基于协作为主的DOMINO流程处理系统有效的结合起来,确保整个业务流程的有效运行和各种数据查询分析统计的有机结合。
由于考虑到银行帐户年度等因素,客户要求系统在2004年12底前交付,项目开发周期为4个月。项目人员配备情况,项目经理l人,开发人员4人,测试人员3人,界面美工人员1人,项目行政秘书1人,配置管理人员1人,质量管理人员1人.其中开发人员小张来自某某银行科技处.项目行政秘书、配置管理、质量管理等人员为兼职人员,为多项目共享。由于公司属于大型软件企业,在项目基础设施方面包括开发服务器、开发机、测试服务器、配置管理服务器、开发工具等配备状况较好。
软件成本管理是软件项目管理的一个重要组成部分,也是一个十分容易被忽视但却又是十分重要的内容.成本管理的目的是通过执行项目成本管理过程和使用一些基本项目管理工具和技术来改进项目成本绩效。项目组整体上把按进度和预算交付项目作为我们最大的挑战,因此我们十分重视对项目进度和成本的控制和管理.该项目中我们借助项目管理软件Microsoft Project 2003来辅助进度和成本的计划和管理.我们主要通过在计划阶段做好工作量估算,有效管理和控制风险因素和在实施阶段进行成本跟踪和控制等方法和策略来有效管理和控制项目成本。
1、计划阶段做好活动历时(工作量)估算
项目需求分析阶段结束,《软件需求说明书》得到客户正式签字确认后,我们开始创建工作分解结构WBS和制定详细项目进度计划.我们认为工作量估算是成本估算的基础,对于项目成本管理+分关键.由于对代码行(LOC)估算、功能点(FP)估算等估算方式研究不是很深入,工作量估算主要采用基于公司项目历史绩效数据库和个人经验的估算方法.对于部分涉及流程的活动单位一般比较难一次性把握其活动的历时,事实上流程调试的工作量在页面基本功能(增加/删除了修改)的3倍工作量以上.例如业务操作模块——问题类授信业务申报——问题类客户行动计划申请流程页面提交工作量为2日/人,而流程调试需要涉及20多个角色和8条路径.对于估算把握不是很好的任务,我们一般通过提供一个乐观估算A、悲观估算B、正常估算M进行3次估算然后利用PERT公式[1 ( 4 * M + A + B)/6]计算取整.每项活动我都先确定具体人员,然后需要对活动本身进行详细分析,必要时查看公司项目历史绩效数据库。最后需要为各项活动建立了依赖关系,明确各项活动的前置任务,活动开始时间和结束时间.总体上讲活动历时估算工作量较大,我花费了数个工作日。
项目组人员流动率较低,在J2EE和Struts架构下的WEB应用开发已经有一定的项目积累和团队合作基础.如项目组自行开发了功能完善的Struts-config.xml统一维护工具,实现了FormBean和ActionBean方便管理。有大量可供复用的东西,如公共基础代码包,权限管理模块等.这些也是在我们工作量估算中需要考虑的因素。
2、有效管理和控制风险因素
项目中我们对项目风险进行了必要的管理,以避免风险事件的发生引发项目成本增加或超支.公司项目管理部门提供了风险管理计划的模板和风险事件列表模板.为了让项目组整体在各个阶段保持良好的风险意识,我尝试采用了“十大风险事项跟踪”,把项目中各主要风险事项按照排名张贴在公告栏上.由于当时有部分未明晰的需求包括:①问题类客户行动计划申请流程;②查询统计部分需求;③客户方面可能提出的新需求.需求和范围界定不清、计划不充分、用户参与不足、缺乏领导支持、技术问题等为我们项目计划阶段主要风险事件.事实表明,这种做法效果是非常明显的.特别是客户方面,我定期把风险事件列表Email给客户方项目负责人方某.为了能尽快落实未明晰的需求部分,我与客户方主要项目负责人方某进行了面对面的沟通.通过一番利弊关系的陈述,达成尽快明晰悬留部分需求的共识.需求问题很快得到解决.项目组整体信心十足,积极性和责任感增加.公司领导方面对项目组也表现出特别的关心,特别是公司赵总开始频繁出现在项目组的每周进度评审会议上,他们也开始担心因为对项目支持不够而导致项目的失败。
3、实施阶段进行成本跟踪和控制
实施阶段需要进行成本的跟踪和控制.Project 2003中需要设定各项资源(人员)的工时标准费率,即人员每小时的工作成本.项目组成员每周五下班前通过内网B/S项目管理信息系统PMIS提交《项目周报》,把各自本周内完成的任务进度情况和下周任务计划进行汇报.报告要求按百分比严格量化任务完成情况,PMIS只提供具体百分比的选择.项目经理(我)把各项任务实际完成数据输入到进度计划中,Project 2003自动成本统计表,清楚显示任务基准和实际成本信息.通过查看跟踪甘特图就可以较好把握项目总体的进度绩效。
授信业务系统在2004年12月下旬正式上线,提前1周完成了项目.目前系统运行正常,受到客户方各有关部门的一致好评,对项目满意度较高.项目的成功很大程度上归功于在项目过程中各个阶段对进度和成本的有效管理和控制.没有成本管理,项目也可能成功.但没有成本管理的项目,对于项目管理质量、时间、成本三大目标的实现是具有巨大风险。