1、郑大春郑大春北航软件学院北航软件学院l 当某种产品无法从市场上直接采购,也不准备自主研发时,通常选择外包开发。l 从发包方来看,软件外包开发管理流程包括需求分析、招标管理、过程控制、成果验收和运维服务五个主要环节。l 外包项目经理是外包项目管理的责任主体,当确定软件开发外包项目之后,应成立外包管理小组,确定外包项目经理,授权其归口管理整个外包流程,处理工作疑难、确保开发进程、工作效率、后勤支持,同时协调与承包单位关系,统一把外包公司的意见传达给自己公司的各商务部门主管,并向外包公司提供所需的内部文档,方便外包公司同发包方对应的商务部门技术主管打交道和作决定。发包方外包管理基本流程发包方外包管理
2、基本流程 招标管理过程控制成果验收运维服务需求分析p 在开始外包采购之前,首先发包方要完成项目的总体需求规格说明书和承包项目的需求说明书。p 一般承包项目的需求分用户需求和分配需求。对于分承包商来说,发包方对软件项目所提出的需求通称“用户需求”。对于发包方来说,系统总体分配给软件的系统需求通称“分配需求”。1、需求分析、需求分析招标管理过程控制成果验收运维服务需求分析子项目的需求分析 总体项目需求分析和设计 2、招标管理 n 首先由外包管理小组负责人起草“外包项目竞标邀请书”;n 至少与三家以上的候选承包商建立联系,分发“外包项目竞标邀请书”及相关材料;n 候选承包商与委托方有关人员进行交流,
3、进一步了解外包项目,撰写应标书,应标书的主要内容有:技术解决方案;开发计划;维护计划;报价等。n 候选承包商将应标书及相关材料交付给外包管理小组负责人。竞标竞标邀请邀请 招标招标评审评审 合同合同谈判谈判 签订签订合同合同招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计2、招标管理n 制定“评估检查表”,依据“评估检查表”评估候选承包商的综合能力,形成承包商的“能力评估报告”,就技术开发成熟能力、资源(包括以有的产品、硬件、软件、信息和已经过的培训)、资格和信誉、过去的合作关系、价格、提供的售后服务(包括培训和维护)、分承制方
4、组织配置结构、与质询要求的差异等方面,经过经济技术和商业战略角度出发进行全面评估。n 经过审核后,给出候选承包商的综合竞争力排名,并逐一分析与其建立外包合同的风险,择其优者为中标候选人。竞标竞标邀请邀请 招标招标评审评审 合同合同谈判谈判 签订签订合同合同招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计2、招标管理n 外包管理小组与中标候选人进行商务洽谈,就合同的主要条款进行协商,达成共识,然后按指定模板共同起草合同。竞标竞标邀请邀请 招标招标评审评审 合同合同谈判谈判 签订签订合同合同招标管理过程控制成果验收运维服务需求分析
5、子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计2、招标管理n 双方仔细审查合同条款,确保没有错误和隐患。n 双方代表签字,合同生效。竞标竞标邀请邀请 招标招标评审评审 合同合同谈判谈判 签订签订合同合同招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计3、过程控制u 外包双方共同关注过程控制,才能保证有效结果;u 只能成功,不能指望依靠惩罚手段来收回采购成本,决定了过程控制的重要性;u 在合作过程中,建立对承包商关系的管理体系,作为以后合作的基础;u 重视开发过程的风险评估,使得双方业务能力得到持续
6、提高。招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计计划与方案评审并确认设计和开发 里程碑评审竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同3、过程控制u 承包商在接到外包合同后,就可以进行工作说明书、用户需求说明书、软件需求规格说明书、软件开发详细计划和成本概预算、测试计划、质量控制方法、风险控制、拟采用的软件工程标准和软件生命周期等文档的制作。然后承包商把有关的技术资料文件送给发包方进行校核和批准,然后才能开始开发。招标管理过程控制成果验收
7、运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计计划与方案评审并确认设计和开发 里程碑评审竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同3、过程控制u分承制方对所有需要采购的资源(软件、硬件、人力资源等)负责进行检验;采购部有权在任何时候对承包商所采购的资源进行验证,使之符合所采用的规格说明书、规范、标准和其他技术文件所规定的要求,确保承包商专款专用,建立开发环境。u在这个阶段之前,采购部门和承包商首先要确定由承包商提供的验证建议书,并作好准备工作,提交检验用的技术文件
8、,包括厂商说明书、设备性能数据表、配制清单、试验程序、检验技术要求。在检验的物质条件和技术条件均已准备妥善后,分承包商就可以向采购部并通过采购部向发包方提出书面检验申请。u通过检验后,分承包商进入项目开发阶段;招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计计划与方案评审并确认设计和开发 里程碑评审竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同3、过程控制u 承包商在签署合同后可以进行设计和开发。由于外包项目的合作双方在地理位置上“天各一方”,双
9、方的通讯交流对项目管理就至关重要。成功的外包公司都对发包公司提供基于Web的全天候24小时编程监测跟踪系统,让发包公司能连续访问对方的服务器和数据库,及时了解进度和开发升级。u 发包公司还要求访问处于开发中的文件和代码,承包公司应提供这种跟踪工具,把工作进度无保留地提供给对方。u 管理好外包项目甚至还包括互访。增进开发人员对商务应用的理解。招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计计划与方案评审并确认设计和开发 里程碑评审竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合
10、同同谈谈判判签签订订合合同同3、过程控制u在承包商的软件项目的各个里程碑处和承包商一起进行检查和评估。软件项目一般可以划分成若干个里程碑(3-5个为益),承包商需要提前一周通知采购部组织相关人员来评估。u软件项目的里程碑一般指产品设计趋于稳定,中间产品定义趋于明晰,项目开发组真正了解项目实际的关键技术难度和可行的进度计划,开发活动停止,产品进入除错和稳定、随时可以发布的阶段,或当产品设计被删减、资源增加、进度延误的时候。u在评估软件质量、进度和功能的同时,还要评估承包商的人员工作负荷程度、风险、费用和资源消耗情况,并形成文档。由采购部送审系统工程部、软件工程部、项目管理部和承包商的此项目负责人
11、。招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计计划与方案评审并确认设计和开发 里程碑评审竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同4、成果验收成果验收是按照外包服务合同,对承包商所开发的软件产品及配套资料和服务进行验收的过程。招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合
12、同同谈谈判判签签订订合合同同计划与方案评审并确认设计和开发里程碑评审计划与方案评审并确认设计和开发里程碑评审交验测试 产品交付系统验收文档归档4、成果验收 当产品进入交验测试的时候,承包商需要提前三周通知采购部,采购部于前两周通知发包方作好交验的组织评估准备工作。这时发包方组织系统工程部、软件工程部、测试部、质保部和采购部,根据承包商和发包方在承包商开发阶段预先共同定义、评审并批准的测试计划和验收方案进行验收测试,对需求规格说明书中的各项逐个详细的测试。最后以书面的形式给出对整个软件项目的测试评估报告。并对未通过验收测试的软件产品指定相应的补救措施和计划。招标管理过程控制成果验收运维服务需求分
13、析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同计划与方案评审并确认设计和开发里程碑评审计划与方案评审并确认设计和开发里程碑评审交验测试 产品交付系统验收文档归档4、成果验收 承包商交付给发包方的软件产品应当包括:源代码、软件开发计划、仿真环境、软件需求规格说明书、设计文档、软件测试计划、软件测试说明、验收测试计划、软件使用手册、软件安装手册、软件维护手册。必要的话,还包括相关培训计划。招标管理过程控制成果验收运维服务需求分析子项目的需求
14、分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同计划与方案评审并确认设计和开发里程碑评审计划与方案评审并确认设计和开发里程碑评审交验测试 产品交付系统验收文档归档4、成果验收发包方对所交的整个软件产品清单进行验收,并事先通知采购部拆箱日期,要采购部和分承包商的代表按时到场。发包方要在接到采购部交货通知后一个月内,对所检查验收的整个软件产品(包括相关的软件、硬件及其附属产品、文档、技术资料等子合同中规定的产品)出具一份交货证明,如果这些提交的软件产品没有
15、受到损坏并与装箱清单相一致,并在发包方环境运行良好;否则出具一份书面通知,说明在某个方面此产品损坏或与装箱单不符,或在发包方提供的环境运行不良。此通知或证明应由采购部和承包商代表签署。如果在签合同的时候,就规定承包商负责安装和调试,则相应的过程省略。招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同计划与方案评审并确认设计和开发里程碑评审计划与方案评审并确认设计和开发里程碑评审交验测试 产品交付系统验收
16、文档归档4、成果验收最后发包方由采购部把所有的文档归类封存,以备后续类似项目采购的参考查询。同时采购部在两个月之内以书面形式,对承包商的技术开发成熟能力、资源(包括以有的产品、硬件、软件、人力资源和已经过的培训)、信誉、分承制方组织配置结构,管理能力和企业文化提交后评价报告,作为建立客户关系管理(CRM)的依据。对于此次采购的经验和教训,包括进度控制、质量控制、成本控制、客户关系控制、流程控制、风险控制等方面,采购部以文档的形式在组内讨论并保存。招标管理过程控制成果验收运维服务需求分析子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计竞竞标标邀邀请请招招标标评评审审合
17、合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同计划与方案评审并确认设计和开发里程碑评审计划与方案评审并确认设计和开发里程碑评审交验测试 产品交付系统验收文档归档5、运维服务运维服务是指承包商为保证所开发的软件产品适应于用户需求,在实际环境中进行安装调试和运行,并修改其中可能存在的BUG。同时提供用户使用培训,保证用户能够正常使用,对不符合用户要求的作调整。用户经过一段时间的使用,对该产品在实际应用中表现出来的各种问题进行总结,对合同执行情况进行评价。在后续的一定时间阶段中,对软件产品的正常使用提供维护服务。招标管理过程控制成果验收运维服务需求分析
18、子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同竞竞标标邀邀请请招招标标评评审审合合同同谈谈判判签签订订合合同同计划与方案评审并确认设计和开发里程碑评审计划与方案评审并确认设计和开发里程碑评审安装调试 用户培训后评价维护服务交验测试产品交付系统验收文档归档交验测试产品交付系统验收文档归档小结小结子项目的需求分析总体项目需求分析和设计子项目的需求分析总体项目需求分析和设计计划与方案评审并确认设计和开发里程碑评审计划与方案评审并确认设计和开发里程碑评审交验测试产品交付系统验收文档归档交验测试产品交付系统验收文档归档招标管理过程控制成果验收运维服务需求分析安装调试用户培训后评价维护服务安装调试用户培训后评价维护服务竞标邀请招标评审合同谈判签订合同竞标邀请招标评审合同谈判签订合同