软件工程-如何进行采购和外包管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何进行采购和外包管理
1.采购管理 (3)
1.1采购管理概述 (3)
1.2采购分类 (3)
1.3采购管理的过程 (4)
1.3.1项目需求分析和设计 (4)
1.3.2厂商选择 (5)
1.3.3分承制商开发 (5)
1.3.4、业主阶段评估 (6)
1.3.5交验测试 (8)
1.4软件采购管理的意义 (10)
2.外包管理 (11)
2.1外包管理概述 (11)
2.2选择承包商 (12)
2.2.1竞标邀请 (12)
2.2.2评估候选承包商的综合能力 (12)
2.2.3.确定承包商 (13)
2.2.4签订外包合同 (13)
2.3软件外包中的风险控制 (13)
2.3.1切实可行的外包策略 (14)
2.3.2核算和控制外包的综合成本 (15)
2.3.4管理单点联系的外包项目 (15)
1.采购管理
1.1采购管理概述
项目管理理论是一门综合多门学科的新兴研究领域,共有九大知识领域,包括项目集成管理、项目范围管理、项目时间管理、项目费用管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理和项目采购管理。
采购管理是整个软件项目管理的重要组成部分。
采购管理是项目采购管理的重要组成部分,也是耗用资金较多的一个环节,它同时也是目前软件项目成本管理中普遍失控的环节,采购管理的优与劣关系到了整个项目成本管理的成败,怎样做好采购管理,成为我们需要正视并需解决的问题。
项目采购管理是指需要从执行组织以外获得货物和服务的过程。
通常把货物和服务称为产品,把买方称为业主或对应分承制方的总承包商,而卖方称为承包商、厂商或供应商。
项目采购管理一般包括以下主要过程:采购计划编制,询价计划编制,询价,承包商选择,合同管理,合同收尾。
规范采购行为,在技术层面上提升业务能力,这个过程中我们要重点关注经济采购的概念是如何在实际操作应用的。
1.2采购分类
对于软件产品,一般采购可以分为两大类,一类是对已经在市场流通的软件产品进行采购。
例如,某企业想做信息化建设项目,涉及
到数据库,那么它就可以在目前市面流行通用的几种厂家和种类的数据库中选择。
例如Oracle公司的Oracle数据库,Microsoft 公司的SQL Sever,IBM公司的DB2数据库等等。
然后根据自己的需求,通过询价、签合同、安装培训等过程来购买此类产品。
这种采购过程基本已经形成几套通用的解决方案,比较简单,中国企业在处理这类产品的采购时,大部分都处理的较好。
个别的企业由于需求分析不清晰,培训工作不到位等原因,也会产生购买的产品不适用,或不会用的情况。
另外一类软件产品采购的形式是外包采购。
它是指在市场上没有出现现成的产品或者没有适合自己企业需求的产品的情况下,需要以定制的方式把项目(功能模块)承包给其他企业。
例如某企业需要实施企业资源计划项目(ERP),虽然可以购买BAAN软件,但是基于本企业业务流程的管理软件必须定制,对于各个原有孤立岛的集成软件,无法购买现成的产品,必须自己开发或外包给别的公司。
1.3采购管理的过程
软件项目的整个采购过程可以分为十个工作阶段,包括总体项目需求分析和设计、子项目的需求分析、厂商选择、分承制商开发、业主阶段评估、交验测试、安装、培训、维护,后评价。
1.3.1项目需求分析和设计
在采购之前,首先业主要完成项目的总体需求规格说明书和承包项目的需求说明书。
一般承包项目的需求分用户需求和分配需求。
对
于分承包商来说,业主对软件项目所提出的需求通称“用户需求”。
对于业主来说,系统总体分配给软件的系统需求通称“分配需求”。
1.3.2厂商选择
业主把需求说明书交给采购组组织采购。
采购部门收到需求说明书后,再补充质询调查表、报价指南、综合条款及条件等文件,组成采购质询技术文件发往厂商进行质询。
采购部门在厂商质询的基础上,准备了厂商选择和投标估价等技术文件后,向业主送审,提请业主批准和确认所选厂商。
在厂商选择和投标估价这两个文件中,采购部根据拟采购的软件对被质询的至少三家以上的供应厂商,就技术开发成熟能力、资源(包括以有的产品、硬件、软件、信息和已经过的培训)、资格和信誉、过去的合作关系、价格、提供的售后服务(包括培训和维护)、分承制方组织配置结构、与质询要求的差异等方面,经过经济技术和商业战略角度出发进行全面评估,经过其他各部门(例如系统工程组、软件工程组、质保组、财务组)审核后,列出供应厂商的优劣次序,择其优者为该项目的供应厂商。
采购部一般以月为单位向业主通报软件采购情况。
1.3.3分承制商开发
一般以招投标方式或内部评审的方式来确定分承制商。
分承制商在接到采购部的定货以后,就可以进行工作说明书、用户需求说明书、软件需求规格说明书、软件开发详细计划和成本概预算、测试计划、
质量控制方法、风险控制、拟采用的软件工程标准和软件生命周期等文档的制作。
然后分承制商把有关的技术资料文件通过业主的采购部送给业主进行校核和批准,然后才能开始开发。
业主在接到分承制商的上述材料后,组织系统工程部、软件工程部、质保部、财务部、采购部、法律部就上述材料中的开发项目视图和需求范围、使用或需要购买的软硬件、进度计划和成本、测试计划与案例、使用的技术和工程标准、人员配置等进行评审,并出具评审文件和风险评估、控制建议书。
并由采购部制定采购项目监督评估计划书。
合格后,由采购部、质保部及法律人员与分承制商签署详细的软件采购子合同。
如需要对软件项目投保,以此来降低风险,需要和分承制商协商后,纳入合同文件。
1.3.4、业主阶段评估
分承制商在签署合同后可以进行设计和开发。
业主应该委派采购部监督分承制商的工作。
采购部应该有计划的组织质保部、软件工程部的项目计划管理人员和配置管理人员,定期对分承制商的开发活动进度、质量、成本等进行评估,并形成评估建议书。
送审业主方的系统工程部、项目管理人员、分承制商的此项目的负责人。
分承制方的项目负责人要对评估建议书的建议进行书面回复,并确保实施。
分承制方对所有需要采购的资源(软件、硬件、人力资源等)负责进行检验;采购部有权在任何时候对分承制商所采购的资源进行验证,使之符合所采用的规格说明书、规范、标准和其他技术文件所规定的要求,
确保分承制商专款专用,建立开发环境。
在这个阶段之前,采购部门和分承制商首先要确定由分承制商提供的验证建议书,并作好准备工作,提交检验用的技术文件,包括厂商说明书、设备性能数据表、配制清单、试验程序、检验技术要求。
在检验的物质条件和技术条件均已准备妥善后,分承包商就可以向采购部并通过采购部向业主提出书面检验申请。
一般分承包商可以提前三周通知采购部,由采购部提前两周以书面形式向业主提出检验申请,由业主召集系统工程部、软件工程部、质保部组成验证组,在规定的时间、地点检验。
通过检验后,分承包商进入项目开发阶段;业主进入监控和评估阶段。
对于重大关键项目,业主可以派遣项目监督员短期或长期进驻分承包商单位。
由于作为外部单位,业主不便时刻监督项目的开发过程。
虽然理论上需要把分承制商看作是自己的一个项目部门来对待,纳入自己的进度控制和质量控制体系,但是客观上由于分承制商与业主距离较远,人员不熟悉,各自有自己的企业文化和管理体制,双方之间的信息沟通不畅,业主难以实时监督分承制商的开发进程和质量。
最好的办法就是在分承制商的软件项目的各个里程碑处和分承制商一起进行检查和评估。
软件项目一般可以划分成若干个里程碑(3-5个为益),分承制商需要提前一周通知采购部组织相关人员来评估。
软件项目的里程碑一般指产品设计趋于稳定,中间产品定义趋于明晰,项目开发组真正了解项目实际的关键技术难度和可行的进度计划,开发活动停止,产品进入除错和稳定、随时可以发布的阶段,或当产品设计被删减、资源增加、进度延误的时候。
在评估软件质量、进度和功能的同
时,还要评估分承制商的人员工作负荷程度、风险、费用和资源消耗情况,并形成文档。
由采购部送审系统工程部、软件工程部、项目管理部和分承制商的此项目负责人。
当产品进入交验测试的时候,分承制商需要提前三周通知采购部,采购部于前两周通知业主作好交验的组织评估准备工作。
这时业主组织系统工程部、软件工程部、测试部、质保部和采购部,根据分承制商和业主在分承制商开发阶段预先共同定义、评审并批准的测试计划和验收方案进行验收测试,对需求规格说明书中的各项逐个详细的测试。
最后以书面的形式给出对整个软件项目的测试评估报告。
并对未通过验收测试的软件产品指定相应的补救措施和计划。
分承制商交付给业主方的软件产品应当包括:源代码、软件开发计划、仿真环境、软件需求规格说明书、设计文档、软件测试计划、软件测试说明、验收测试计划、软件使用手册、软件安装手册、软件维护手册。
必要的话,还包括相关培训计划。
1.3.5交验测试
当产品进入交验测试的时候,分承制商需要提前三周通知采购部,采购部于前两周通知业主作好交验的组织评估准备工作。
这时业主组织系统工程部、软件工程部、测试部、质保部和采购部,根据分承制商和业主在分承制商开发阶段预先共同定义、评审并批准的测试计划和验收方案进行验收测试,对需求规格说明书中的各项逐个详细的测试。
最后以书面的形式给出对整个软件项目的测试评估报告。
并
对未通过验收测试的软件产品指定相应的补救措施和计划。
分承制商交付给业主方的软件产品应当包括:源代码、软件开发计划、仿真环境、软件需求规格说明书、设计文档、软件测试计划、软件测试说明、验收测试计划、软件使用手册、软件安装手册、软件维护手册。
必要的话,还包括相关培训计划。
软件采购的一个重要阶段是交货,也是目前经常忽略的阶段。
当所采购的软件产品以及硬件运行环境在规定的时间到达采购部时候,采购部要以书面的形式通知业主交货。
业主对所交的整个软件产品清单进行验收,并事先通知采购部拆箱日期,要采购部和分承包商的代表按时到场。
业主要在接到采购部交货通知后一个月内,对所检查验收的整个软件产品(包括相关的软件、硬件及其附属产品、文档、技术资料等子合同中规定的产品)出具一份交货证明,如果这些提交的软件产品没有受到损坏并与装箱清单相一致,并在业主方环境运行良好;否则出具一份书面通知,说明在某个方面此产品损坏或与装箱单不符,或在业主方提供的环境运行不良。
此通知或证明应由采购部和分承制商代表签署。
如果在签合同的时候,就规定分承制商负责安装和调试,则相应的过程省略。
最后业主方由采购部把所有的文档归类封存,以备后续类似项目采购的参考查询。
同时采购部在两个月之内以书面形式,对分承制商的技术开发成熟能力、资源(包括以有的产品、硬件、软件、人力资源和已经过的培训)、信誉、分承制方组织配置结构,管理能力和企业文化提交后评价报告,作为建立客户关系管理(CRM)的依据。
对于此次采购的经验和教训,包括进度控制、质量控制、成本控制、客户关系控制、流程控制、风险控制等方面,采购部以文档的形式在组内讨论并保存。
1.4软件采购管理的意义
许多大型复杂工程项目的实施需要业主、总承包商、分承制商、供应商和开发制造商等共同合作来完成。
因此在任何甲方和乙方之间必不可少的涉及到部分子项目(功能模块)的采购活动。
目前社会中,企业的信息化、网络化建设正在世界范围内展开。
谁先进行信息化改造,谁就早日适应社会发展的要求,获得巨额利润。
大规模的企业信息化建设形成了庞大的软件产品市场,促进了软件业的发展。
许多项目庞大复杂、高风险并且涉及高科技信息领域,在客观上使企业需要采购和外包许多产品,包括软件产品。
主观上,在经济全球一体化形式下,这种外包采购作为采购活动的一种特殊的、更为复杂的形式,在企业中更为普遍存在。
企业为了在日益竞争的社会环境中增强自身的核心竞争力,需要根据企业的特点,专门从事某一个领域或几个领域的业务,在某个业务领域内形成自己的核心业务,把企业内部的智能和资源集中在那些有核心竞争优势的活动上;把一些非自己擅长的业务领域的子项目和功能模块外包给有实力和优势的公司,才有利于加快项目的完工进度,降低风险,优化资源配制,保证项目质量,降低成本,创造更高的价值。
2.外包管理
2.1外包管理概述
在立项阶段,产品负责人会进行“Make or Buy决策”,确定待开发产品的哪些部分应当“采购”、“外包开发”或“自主研发”。
如需外包开发,那么成立外包管理小组。
国外对软件外包项目的管理经验之一是命名外包项目经理,归口全部外包项目工作,总揽技术把关,成为商务应用部门和外包公司的衔接窗口。
该经理将处理工作疑难、确保开发进程、工作效率、后勤支持,同时还要开展用户测试,统一把外包公司的意见传达给自己公司的各商务部门主管,并向外包公司提供所需的内部文档。
在业务这条线上,外包公司将同发包公司对应的商务部门技术主管打交道和作决定。
这样,既有中心联络点,又能让商务部门自行决定软件的应用。
软件外包就是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动。
现在业务流程外包(BPO)已经成为外包服务新的发展趋势,在未来几年内将成为外包的主要内容。
BPO包括人力资源、采购、财会、客户中心、后勤、研发、营销、工厂运作、培训,这些大类还可以进一步细分。
不仅IT行业需要BPO,而且BPO的每项业务都离不开IT业务的支持,从而产生IT外包机会。
企业若想把承接国际软件外包的业务做强做大,必须与国际软件市场接轨——包括英语的理解与沟通能力,技术接轨、管理接轨、做事方法接轨、知识产
权接轨。
还有质量保障、信誉度保障、风险控制能力以及知识产权保障等方面。
2.2选择承包商
2.2.1竞标邀请
首先由外包管理小组负责人起草“外包项目竞标邀请书”,然后与候选承包商建立联系,分发“外包项目竞标邀请书”及相关材料。
然后,候选承包商与委托方有关人员进行交流,进一步了解外包项目,撰写应标书,并将应标书及相关材料交付给外包管理小组负责人(用于证明自身能力)。
应标书的主要内容有:技术解决方案;开发计划;维护计划;报价等。
2.2.2评估候选承包商的综合能力
为有效评估候选承包商的综合能力,外包管理小组应制定“评估检查表”,主要评估因素有:技术方案是否令人满意?开发进度是否可以接受?性价比如何?能否提供较好的服务(维护)?是否具有开发相似产品的经验?承包商以前开发的产品质量如何?开发能力与管理能力如何?资源(人力、财力、物资等)是否充足和稳定?信誉如何?地理位置是否合适?外界对其评价如何?是否取得了业界认
可的证书(如ISO质量认证、CMM 2级以上认证)?
外包管理小组对候选承包商进行粗筛选,对通过了粗筛选的承包商进行综合评估。
外包管理小组要和候选承包商进行多方面的交流,依据“评估检查表”评估候选承包商的综合能力。
将评估结论记录在承包商的“能力评估报告”中。
2.2.
3.确定承包商
外包管理小组给出候选承包商的综合竞争力排名,并逐一分析与其建立外包合同的风险,选出最合适的承包商。
将结论记录在“承包商能力评估报告”中。
2.2.4签订外包合同
外包管理小组和承包商就合同的主要条款进行协商,达成共识,然后按指定模板共同起草合同。
双方仔细审查合同条款,确保没有错误和隐患。
双方代表签字,合同生效。
2.3软件外包中的风险控制
在高度复杂的现代软件生产活动中,风险无处不在。
软件外包作为软件生产的新方式同样存在各种风险。
但是,存在风险并不可怕,可怕的是缺少风险意识和规避风险的手段。
仔细分析风险的来源和特征,在软件外包的全过程实行动态和连续跟踪和控制,可以防患于未然,有效规避软件外包风险。
软件发包方需要在外包实施过程中和承
包方有效交流,对过程风险进行及时而有效的解决。
而承包方只要有效地控制以上五个因素,就可以大大规避承包方实施外包过程的各种风险。
外包风险贯穿于软件外包的全过程,具体表现形式多种多样。
概括起来,软件企业实施软件外包的风险主要来自不良决策、准备不足、技术欠缺和管理失控。
承包方则是外包内容的具体实现者,影响承包方的外包关键因素主要包括五个方面:技术、地理、方法、人员和项目管理。
针对来自发包方和承包方的风险因素分析,软件企业在具体实施软件外包时可以通过正确决策、成本核算、选择承包方、有效管理等方法有效规避外包的风险。
2.3.1切实可行的外包策略
确定切实可行的外包策略是规避风险的第一步。
外包必须首先保证企业的核心技术和信息足够安全,其次要保证通过外包能降低内部生产成本,提高产品的质量和竞争力,缩短产品的开发周期。
如果不能达到这些目标,则企业在当前阶段就不宜采用软件的外包策略。
此外,我们还要考察发包方企业是否有软件外包能力。
如果企业内部没有满足外包要求的技能和资源,不能在内部实现较高级别的项目管理,则说明当前的软件企业没有足够的外包能力,不宜实行软件外包,否则外包失败的风险大于成功的几率。
2.3.2核算和控制外包的综合成本
规避风险的第二步是核算和控制外包的综合成本。
外包成本包括显性成本和隐性成本,显性成本包括人力资源成本、软件工具成本、硬件和办公环境成本等,这些成本可以较明显地观察到。
而隐性成本包括外包项目管理的交流和沟通成本,处理外包内容的变更成本等,这些成本因为不好估计具体的工作量,往往在外包规划阶段忽略或过低估计,造成外包实际成本大大高于最初的预计成本。
根据经验,大型软件外包的项目管理等隐性成本大约占项目总成本的15%左右2.3.3考核和确定合适的承包方
接下来,我们应该做的是考核和确定合适的承包方。
选择一个合适的软件外包承包商并非一件轻而易举的事,发包方必须在最少的投入成本和满足目标市场质量的需求之间保持平衡。
发包方必须对承包方企业的实力、资格认证和服务经验等严格考察,而不能仅仅根据承包方的报价来衡量;通过严密的法律条款、严格合同审核来保障发包方的知识产权和商业机密,降低关键信息泄露的风险;通过严格的外包过程控制外包业务的质量和进度,降低外包项目进度失控的风险。
2.3.4管理单点联系的外包项目
最后,我们要管理单点联系的外包项目。
对于那些复杂的软件外包项目,必须加强外包项目管理。
发包方必须任命一位既熟悉外包软件技术,又善于交流的项目管理人员。
如果发包方内部没有合适的管理人员进行过程跟踪、度量和控制,那么就会有外包项目进度和质量
失控的风险。
对于承包方也要指定惟一的项目经理,对内安排具体的外包任务,对外与发包方交流、报告进度和问题。
发包方和承包方项目经理的单点联系,使得双方的信息入口和出口惟一,避免了多头管理带来的混乱,降低了过程失控的风险。
总之,软件外包是发包方和承包方互相信任、高度协作的共同行为。
发包方软件企业需要合理外包决策,细化和筛选可以外包的内容,确定具体的外包实现方式,选择合适的承包方,规范外包的实施流程,积极地进行外包项目管理,实现全方位、全过程、全天候地外包过程监控,将软件外包风险降低到最小程度。