1、软件外包与采购管理 从社会分工合作、资源共享中获益 林 锐 博士http:/ ,上 海 漫 索 计 算 机 科 技 有 限 公 司,目录,1. 为什么要进行软件外包与采购 2. 过程域介绍 3. 软件外包管理的方法与规范 4. 软件采购管理的方法与规范 5. 建议 6. “集成化项目管理系统 Future”演示参考书:CMMI3级软件过程改进方法与规范,林锐 著,电子工业出版社,2003,1. 为什么要进行软件外包与采购,1.1 软件外包与采购的目的 软件业是一个高速变化、新技术层出不穷的行业,同时又是人力资源成本相对较高的行业。企业需要采用外包和采购形式来获取待开发产品的部件,最大限度地从社
2、会分工合作、资源共享中获益。 企业的根本目标是“合法地赚取尽可能多的利润,使企业利益最大化”。这个根本目标就如同企业的“宪法”,是企业生存和发展之本。 企业所有的特定目标和行动都是围绕上述根本目标开展的,任何背离根本目标的行动都将对企业造成伤害,应当杜绝。 如果软件外包与采购能够为企业获取更多利益时,就不要自己开发软件。 软件外包的成功示例:印度软件业CMM许多中国软件企业企图引入印度软件业的模式 1.2 软件外包的两种结果 好的结局:外包项目做得又好又快,并且省钱; 坏的下场:进度延误、质量底下、费用超支,甚至反目成仇。 因此需要“软件外包管理与采购管理”,2. 过程域介绍,2.1 CMM对
3、应的过程域,2. 过程域介绍,2.2 CMMI-SE/SW对应的过程域,2. 过程域介绍,2.3 全局的软件研发与管理流程 CMM3级精简并行过程(Simplified Parallel Process, SPP)模型,详见林锐的著作。,2. 过程域介绍,2.4 外包管理与采购管理的流程 在立项阶段,产品负责人应当进行“Make-or-Buy决策”,确定待开发产品的哪些部分应当“采购”、“外包开发”或者“自主研发”。 外包管理和采购管理是机构的公共职能,有条件的机构应当设立外包管理员和采购管理员两个角色。由于外包管理和采购管理都是为具体的项目服务的,因此需要项目成员的协作才能把工作做好。如果机
4、构没有外包管理员和采购管理员的话,由项目经理兼此角色。,3. 软件外包管理的方法与规范,3.1 规程(procedure) 目的:从多个候选承包商中选择最合适的承包商,与其签订外包开发合同,并依据合同监控外包开发过程以及验收成果。 角色与职责:外包管理员邀请一些项目成员、同行专家、财务人员、市场人员等人组成临时的外包管理小组。外包管理员为该小组的负责人。 启动准则:在立项阶段,有关人员已经进行了“Make-or-Buy决策”,确定了需要外包的产品部件(通称外包项目)。 输入:“Make-or-Buy决策”产生的文档,主要是对外包产品部件的描述。 主要步骤: Step1 选择最合适的承包商 St
5、ep2 签订外包合同 Step3 监控外包开发过程 Step4 外包开发成果验收 输出:外包开发竞标邀请书承包商评估报告外包开发合同外包开发监控报告 外包开发成果验收报告 结束准则:承包商应交付的所有工作成果都已经通过委托方的验收。 度量:外包管理员统计工作量和文档的规模,汇报给项目经理以及有关领导。,3. 软件外包管理的方法与规范,3.2,3. 软件外包管理的方法与规范,3.2 如何选择合适的承包商 见文档模板),3. 软件外包管理的方法与规范,3.3,3. 软件外包管理的方法与规范,3.4 如何监控外包开发过程 1 项目进展检查 。外包管理小组按照外包开发合同中的“监控计划”,定期检查承包
6、商的开发进展情况,并记录到外包开发过程监控报告之中。见文档模板,3. 软件外包管理的方法与规范,3.4 如何监控外包开发过程 2 质量检查 。外包管理小组按照外包合同中的“监控计划”,组织人员对承包商的工作成果进行技术评审、测试,或者参与承包商组织的技术评审和测试,以保证工作成果的质量符合要求。外包管理小组将评审结论记录到外包开发过程监控报告之中。见文档模板,3. 软件外包管理的方法与规范,3.4 如何监控外包开发过程 3 纠正偏差 。外包管理小组根据进展检查和质量检查的结论,督促承包商纠正工作偏差。如果需要更改合同、产品需求或开发计划,则按照变更控制规程处理。,3. 软件外包管理的方法与规范
7、,3.5 如何验收外包开发成果 1 验收准备 承包商将待验收的工作成果准备好,并将必要的材料提前交给外包管理小组。 外包管理小组慎重地确定验收人员。 外包管理小组与承包商确定验收的时间、地点、参加人员等。 2 审查与测试 成果审查。验收人员审查承包商应当交付的成果,如代码、文档等等。确保这些成果是完整的并且是正确的。验收人员将审查结果记录在外包开发成果验收报告之中。 验收测试。验收人员对待交付的产品进行全面的测试,确保产品符合需求。验收人员将测试结果记录在外包开发成果验收报告之中。见文档模板 3 问题处理。如果验收人员在审查与测试时发现工作成果存在缺陷,则外包管理小组应当视问题的严重性与承包商
8、协商,给出合适的处理措施。 如果工作成果存在严重的缺陷,则退回给承包商。承包商应当给出纠正缺陷的措施,双方协商第二次验收的时间。如果给验收方带来损失,则依据合同对承包商作出相应的处罚。 如果工作成果存在一些轻微的缺陷,则承包商应当给出纠正缺陷的措施,双方协商是否需要第二次验收。 4 成果交付与签收。当所有的工作成果都通过验收后,承包商将其交付给外包管理小组。双方的责任人签字认可。外包管理员通知本机构的财务人员,将合同余款支付给承包商。,4. 软件采购管理的方法与规范,4.1 规程(procedure) 目的:从多个候选供应商中选择最合适的供应商,与其签订采购合同,并依据合同验收产品部件 角色与
9、职责:采购管理员邀请一些项目成员、同行专家、财务人员、市场人员等人组成临时的采购管理小组。采购管理员为该小组的负责人。 启动准则:在立项阶段,有关人员已经进行了“Make-or-Buy决策”,确定了需要采购的产品部件。 输入:“Make-or-Buy决策”产生的文档,主要是对需采购的产品部件的描述。 主要步骤: Step1 选择最合适的供应商 Step2 签订采购合同 Step3 采购物品验收 输出:采购竞标邀请书供应商评估报告采购合同采购物品验收报告 结束准则:供应商应交付的所有工作成果都已经通过采购方的验收。 度量:采购管理员统计工作量和文档的规模,汇报给项目经理以及有关领导。 参考书:C
10、MMI3级软件过程改进方法与规范,林锐 著,电子工业出版社,2003,5. 建议,对外包与采购管理小组进行必要的培训。 对外包与采购管理过程域中产生的所有有价值的文档进行配置管理。 选用合适的软件工具,尽量减少外包与采购管理的工作量。,6. 集成化项目管理系统Future演示,6.1 Future软件介绍 Future是基于Web的集成化项目管理系统。Future1.0主要功能包括项目规划、项目监控、需求管理、质量管理、配置管理、合同管理和日常工作管理等。 Future的主要功能覆盖了CMM 2级的所有6个过程域。使用Future可以大大降低软件项目管理的难度和工作量,有效提高软件产品质量、提高生产率并且降低开发成本。 Future的目标是“让项目管理变得简单有效”。,6. 集成化项目管理系统Future演示,6.2 使用Future管理软件外包项目 以公司真实外包项目为参考(请学员参与),创建一个用于演示的软件外包项目。 演示Future的项目规划 演示Future的项目监控 演示Future的需求管理 演示Future的质量管理 演示Future的配置管理(文档管理) 演示Future的合同管理 演示Future的日常工作管理,