软件开发外包项目启动阶段的过程优化及改进
本文来源:www.sunseam.com 发布日期:2014-12-07
当软件开发外包公司 承接软件开发项目之后,并与用户签定软件开发合同之后,就进入软件开发外包项目启动阶段,在项目启动阶段的主要任务是对产品的需求分析,根据需求进行设计并制定项目计划。
A.由技术部门的业务测试人员负责整个需求分析过程,作为业务部门与软件开发外包公司开发人员之间沟通的桥梁。技术部门的人员既了解银行当前的业务需求、系统配置、中间件选择又对技术有深入了解,是该角色的绝佳人选。
B.外包公司也要尽量用业务人员语言编写用户需求文档,保证业务人员能够准确理解文档内容。
C.需求分析时间要保证充足。项目开发过程中,要保证20%的时间用于需求分析。
D.利用需求管理工具管理需求协同开发的过程,保证需求的变更可以被准确记录和管理。
A.银行方由专职软件架构师或规划师参与架构设计,要提出针对性的意见。
B.银行方成立严格的设计评审过程,保证外包公司的设计符合银行的需求和整体架构。
C.设计评审会应由银行方主导,由银行方架构师规划师介绍而不能由外包公司代劳。
A.项目计划无法跟踪。
造成项目计划无法跟踪的原因主要有两个:一是项目计划过于粗糙;二是里程碑没有定义可跟踪的标识。制定项目计划时必须将繁琐的工作进行分解细化,细化到细节,里程碑起到作用。在每个里程碑处定义双方认可的标识,便于按里程碑进行验收和考核。
B.项目周期过短。
外包公司从利润最大化的角度出发,在项目计划中倾向于大量压缩项目周期。银行方应该根据以往同类的产品的项目周期、项目复杂度、项目人力资源情况与外包公司制定可行性的合理的项目周期。尤其应注意为项目测试、项目交接、项目验收维护阶段预留足够的时间。
一、产品需求分析
产品业务需求是软件开发外包项目成功投产的基础,在外包项目实施过程中,如果业务部门经常反复需求或不停提出更多需求,常会使项目延期和超出预算,导致合作双方在信誉和经济上蒙受损失。外包合作中,软件开发外包公司不可能充分了解银行的业务需求;同时,外包公司提供的需求分析资料业务部门更加难以理解,这就造成双方沟通上的障碍。在软件外包项目的开发过程中,可以采用以下措施来保证软件需求的开发的质量。A.由技术部门的业务测试人员负责整个需求分析过程,作为业务部门与软件开发外包公司开发人员之间沟通的桥梁。技术部门的人员既了解银行当前的业务需求、系统配置、中间件选择又对技术有深入了解,是该角色的绝佳人选。
B.外包公司也要尽量用业务人员语言编写用户需求文档,保证业务人员能够准确理解文档内容。
C.需求分析时间要保证充足。项目开发过程中,要保证20%的时间用于需求分析。
D.利用需求管理工具管理需求协同开发的过程,保证需求的变更可以被准确记录和管理。
二、项目设计
在软件开发外包项目的启动阶段,银行方不重视软件开发设计技术细节,把大部分精力放在项目计划、产品周期制定、人员配备等方面,把软件开发设计看作技术细节,没有得到重视。虽然软件外包项目的设计主要由外包公司负责,但是银行方的项目管理人员也必须参与到这个工作中来,特别是在概要设计阶段。首先,项目的设计是项目的核心,只有掌握这个核心信息,银行方人员才不会丧失项目的主动权而完全依赖于软件开发外包公司。其次,对项目设计的充分理解也是完善进度控制、质量控制、风险控制的基石。第三,银行方人员参与到设计中,能保证设计与需求符合银行的整体架构思路、技术路线及银行的运行维护需求。有利于银行技术人员有效参与项目设计的方法如下:A.银行方由专职软件架构师或规划师参与架构设计,要提出针对性的意见。
B.银行方成立严格的设计评审过程,保证外包公司的设计符合银行的需求和整体架构。
C.设计评审会应由银行方主导,由银行方架构师规划师介绍而不能由外包公司代劳。
三、制定项目计划
在银行制定的项目计划草案的基础上,双方制定项目进度、项目过程管理、项目工作总量、资源配置计划。项目组根据工作说明书(sow,Statement Of Work)进行任务分解,得到WBS(工作分解结构)。进度计划在WBS的基础上制定,采用“里程碑"管理。“里程碑”是项目管理阶段性工作的标志。每到一个里程碑,就必须对上段工作进行总结,并对后续工作进行计划控制。在软件外包项目的项目计划制定中要重点规避以下风险:A.项目计划无法跟踪。
造成项目计划无法跟踪的原因主要有两个:一是项目计划过于粗糙;二是里程碑没有定义可跟踪的标识。制定项目计划时必须将繁琐的工作进行分解细化,细化到细节,里程碑起到作用。在每个里程碑处定义双方认可的标识,便于按里程碑进行验收和考核。
B.项目周期过短。
外包公司从利润最大化的角度出发,在项目计划中倾向于大量压缩项目周期。银行方应该根据以往同类的产品的项目周期、项目复杂度、项目人力资源情况与外包公司制定可行性的合理的项目周期。尤其应注意为项目测试、项目交接、项目验收维护阶段预留足够的时间。