浅谈软件开发外包项目的管理.doc_第1页
浅谈软件开发外包项目的管理.doc_第2页
浅谈软件开发外包项目的管理.doc_第3页
浅谈软件开发外包项目的管理.doc_第4页
浅谈软件开发外包项目的管理.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅谈软件开发外包项目的管理所谓软件外包就是一些发达国家的软件公司将他们的一些非核心的软件项目通过外包的形式交给人力资源成本相对较低的国家的公司开发,以达到降低软件开发成本的目的。众所周知,软件开发的成本中70%是人力资源成本,所以,降低人力资源成本将有效地降低软件开发的成本。那么,在软件外包项目管理中要注意哪些问题呢?一、如何选择外包商1公司规模a) 具有一定规模的公司才有可能具有全面的软件开发能力,有客户需要的各类技术高手。b) 接触过的企业比较多,才有可能接触过很多的项目,积累丰富的经验。可以将其他公司行业知识或是系统架构方面的经验进行分享。c) 公司的声誉,财政状况,招工吸引力等,以保证项目期间无经济困扰,在软件人才频繁进出的情况下,有能力招募高手,有钱不断培训新人,从而力保高水平完成外包项目。d) 后续服务的保障性。基本上,我们希望的厂商都是要能够长期合作的,毕竟默契跟关系是需要长期培养的,万一厂商规模太小,忽然有一天消失了,重新找厂商以及试运行项目又会是一个不太愉快的过程,更别说以前项目的维护工作可能没法得到保障了。2规范化。a) 如果一个企业做得比较规范,我们会认为他们更可信。b) 项目管理能力:厂商使用的方法论是否完整;是否经历过大量项目的检验;是否运用数字化的管理工具;是否有明确的KPI;是否取得国际级的认证,如 CMMI;比如说获得CMMI 的认证,在国内好像也没听说过谁是真的过不去的,毕竟这个对培训机构来说也是一种商品化后的服务项目,我的回复一向是:“是的,但是过了总比没过的好,总是多加了一份保障。”3价格:至于价格当然是越少越好,但不是要考虑的第一要素。Total cost的概念,包括项目的整体成本,以及后续需要维护的人员成本,是否有加值服务的提供(技术领域以及行业领域)。最早开始的时候,我们在议价的时候,更多的是考虑每个人天的单价,合作过几家厂商之后,发现如果从 Total 开发成本的角度来看,其实大家能提供的价格还是差不多的,单价低的可能项目周期会比较长,或是项目质量不如单价高的厂商,我们后续需要的测试以及维护成本加起来,其实成本是非常接近的,所以,还是建议找质量比较好的厂商,不要完全以人天单价或是项目总体价格来当作唯一的考虑点。毕竟省下来的钱是公司的,项目搞砸的 Credit是自己背的。4人员素质沟通能力;英语能力;文档编写能力;是否对他专一,有资源一心一意压在他的项目上,而不要撤东墙补西墙。5地域性因素。这点随着互联网的普及以及各式沟通工具越来越多,倒是没有那么强的影响了,可以考虑在最后才使用这个指标衡量。6对你所在企业的认识。我们的经验是,对你越了解的合作伙伴,越容易培养默契,在项目的合作上也越容易体现出弹性,说的再虚一点的话,最好连合作伙伴的企业文化也能跟我们比较接近是最好的了,因为不管对方的老板答应你什么,真正干活的还是下面这批人。二、管理外包商的要点1需求管理 在软件项目开发的早期,最主要解决的问题就是明确软件需求,但是现实中开发商往往很难理解企业的业务需求,加上业务需求会随着时间的推移而发生变化,造成软件需求一直在发生变化;另一方面,开发商提供的需求文档也很难被业务部门所理解,造成双方沟通上的障碍。在软件外包项目的开发过程中,可以采用以下方法来保证甲乙双方进行软件需求的开发和需求管理,以此提高需求质量:? 获取定义业务词汇? 从用户角度出发 ,准确描述软件的功能需求? 利用原型准确把握用户界面技术,使系统达到最佳的可用性? 对需求进行多角度分析,实现量化管理? 记录需求变化的历史,交流需求修改的意见? 维护需求的追踪性,分析变更造成的影响? 控制需求的变更,防止需求蔓延2开发过程监控 在传统的软件外包项目开发中,从需求工程开始到开发商交付最终软件系统,其中只有一次验收,很多问题要到最后的验收阶段才会暴露出来;同时也难于控制项目的进度,经常导致项目延期。造成这些问题的主要原因是外包项目开发过程不透明,企业很难监控开发的进展情况。 所以我们建议变一次验收为多次检验,在项目的开发过程中设置多个里程碑,在每个里程碑处设有检验点。可以要求开发商采用迭代化软件开发,这样每一个迭代的结束都是一 个技术上的检验点。最简单的过程监控可以在架构设计里程碑处设置中期检验点,要求开发商按要求提交中期交付系统原型,对原型系统进行中期验收,主要考查系统功能、性能指标等,并确认系统是否能与生产环境中正常工作,同时该原型也有助于收集业务部门的反馈意见。3软件系统验收 当软件外包项目开发完成之后,企业就要对开发商所提交的交付系统进行验收,验收主要包括 验证和确认两部分。? 验证(Verification)主要是评估系统在功能上是否和需求定义相一致,检验系统在技术上是否达到一定质量标准(可靠性、性能等);? 确认(Validation)主要是评估系统是否真正满足了生产环境和业务运作的需要,这需要将系统部署到实际生产环境中去进行检验,并需要业务部门的参与。任何一个企业都需要确定全面的软件验收标准,在定义需求和评估软件质量时,都需要从功能性、易用性、可靠性、性能和可支持性等多个维度来全面考虑,使用可以验证的质量标准并尽量使用量化的质量指标。 另外要注意的是除了验收软件系统本身之外,还应对系统开发过程中 所有的中间工作产品如需求文档、设计模型、测试计划/报告等进行验收。从事软件项目外包的企业可以建立软件系统验收平台来保证系统验收的质量,该平台包括了相 关的验收流程、质量标准和工具平台。其中最重要的就是要建立附合企业实际情况的软件验收质量标准,并在软件项目外包过程中执行这一标准。为了支支撑验收标准的执行,必须使用一 些自动化的软件测试工具来辅助软件测试的进行,并产生一些客观的量化指标以便于质量标准的评判,如测试管理工具、压力测试工具、代码覆盖率工具等。4项目后续维护开发 在系统上线之后,项目团队面临的挑战在于如何快速响应业务部门的各种变更请求,一方面随着业务的变化业务部门会提出很多新的业务需求,另一方面在使用中发现的软件缺陷需要得到迅速修正。对于开发团队来说,他们需要同时维护多个软件版本,如不同地区的特殊业务要求系统有多个版本,不同的运行平台也要求系统支持多个运行版本,这些复杂的版本管理需求往往导致软件版本管理上的错误。 在这个阶段,我们必须全面管理软件维护过程中出现的各类对软件产生变化的因素,包括缺陷、需求变更、设计变更以及文档变更等。加强开发厂商和用户的沟通,随时供项目管理人员掌握项目最新进展状态,实现软件开发量化管理。另外,我们也要做好软件的统一版本管理,做好软件发布管理,避免版本错误以及重复开发。三、如何管理外包商1明确责任,做好分工制定出项目计划;用户需求文档;技术要求文档;文档的要求;沟通的方式,汇报的方式;质量控制:需要有责任的清楚定界,比如每十万行编程容许的bug数,第一次用户测试后接包方必须达到的合格百分率等等。进程控制:基于Web的全天候24小时编程监测跟踪系统。合同需涉及三方面内容:用什么资源,质量和奖惩规定。什么技能的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论