ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 国内软件工程项目的外包管理分析

国内软件工程项目的外包管理分析

原创 Linux操作系统 作者:myattitude 时间:2009-01-12 15:58:42 0 删除 编辑

出处:mypm
作者:段柯
 

1、前言 

  中国软件行业一方面紧跟世界潮流,技术与模式日新月异;另一方面具有 中国特色,行业与地域存在壁垒。作为品牌和实力正处于培育发展阶段的软件公司,在市场拓展过程中为了克服积累不够或水土不服等弱点,实现“利润最大化,成 本最小化”,把自己不擅长或非发展方向的项目进行外包是非常普遍的现象。 

  然而软件项目外包本质来说,是软件开发过程从公司内部部分或全部延伸到公司外部的管理规范与管理技术。与内部实施相比,管理难度有过之而无不及。但是我们很多公司可以说是非常擅长策划外包,而不善于执行外包。甚至出现如 CMM1级描述的现象,基本上是一包了之。 

  为了促进探索企业在软件项目外包管理的规范化,本文结合公司历史外包项目得失和相关资讯,分析了软件项目的外包的目标、策略、监理等要素,谨供参考。 

  2、外包的目标与策略 

  欧美企业在向印度、爱尔兰、中国等软件生产“蓝领”国家进行软件外包时,发包方并非不能,而是不为。因此目标定位很清楚:就是节省成本和控制质量。此类外包的发包方处位强势,全程可控,也形成了严格而规范的流程。 

  而回首国内企业的软件工程外包,背景就复杂得多。有的是“主动外包 ”,强势出击,客户可控;有的是“被动外包”,策略联盟,短板受制;有的则是“绑架外包”,客户指定,余地甚微。面对不同类型的外包动机,我们在讨论外包 风险时容易陷于甲方店大欺客、丙方反仆为主之类的表象,缺乏对外包目标的准确定位。目标不明,导致以监理为核心的外包管理很容易“左倾”控死(丙方)和“ 右倾”失控(于丙方),最终结果是无法向甲方兑现自己作为乙方的承诺。 

  因此,因此我们进行软件工程项目外包时,一定要根据动机类型,结合甲方丙方特点,厘清目标定位。既而选择监理策略,确定监理规范与流程。公司通过外包要达到的主要目标可以分为: 

  1、案例之名 

  为了打开行业局面,取得战略突破,在竞标过程中一切为了“中标”,甲方指定能接受。可以无实,但必须有名。中标后非不为,实难为,必须外包。监理的策略底限应该是尽量避免项目失败,控制资本面风险。 

  2、追求利润 

  该软件工程非公司长期发展方向,中标后非难为,实不为。寻求外包,降低成本,获取软件工程项目边际利润。或者整体中标,硬件盈利,软件外包。监理的策略是里程碑产品质量可控,及时发现问题。 

  3、技术经验 

  该软件工程为公司发展方向,但技术层面存在“短板”。外包的目标是通过监理掌握技术,吸收精华。监理策略是组成内部项目团队,技术层面全过程跟踪。行评审审核之名,图技术学习之利。 

  4、行业业务 
   
    该软件工程为公司发展方向,但业务流程模型需要借鉴。与追求技术经验类似,监理策略是组成内部项目团队,技术与业务全程跟踪,通过监理学习先进的行业业务理念与模型等。监理的目标是软件工程的可重复。

显然,不同的项目条件不同,追求的目标不一样。我们在策划外包时,首先应该根据项目具体情况和公司战略取向,确定要达到主要目标。再来策划具体的范围、进度、成本、质量、风险等关键过程域和知识域,纲举目张。 

  3、外包的管理规程 

  “项目管理知识体系指南”(PMBOK)、 “软件能力成熟度模型”(CMM)和国际标准ISO9000-3中对软件工程项目外包的管理规范都有原则性设计。 

  其中 PMBOK体系原则上是应用在各个行业的,缺乏针对软件领域的特点做专门的论述。强调的是外包过程管理的一般原则,操作过程不具体。 

  ISO 9000-3系列是针对软件领域的标准,但特点是告诉你要按规定做,不强调效果和后续改善。侧重水平的评估。怎么结合企业发展战略,分析从软件项目外包中能获取什么,已经获取什么考虑不多。不利于提高组织级的外包管理水平。 

  CMM则强调软件公司的过程能力的持续改进,重点关注软件的开发过程管理和产品管理。其中的子合同管理对软件外包承诺、能力、过程、测量、验证有比较好的框架定义。各公司可以根据自身情况,结合内部软件管理规程,可以制订出合适的软件项目外包管理规程和裁减策略。 

  SEI还开发了另一个模型——SA-CMM(软件采办能力成熟度模型)。与CMM 不同的是,SA-CMM关注的是作为甲方的软件能力成熟度。而CMM关注的是作为乙方的软件能力成熟度。软件采办能力成熟度模型也适用于软件生命周期的各个阶段。 

  4、外包管理的组织与过程 

  基于软件外包管理对外延伸的复杂性,要确保软件外包的主要目标实现, 并能在组织级外包管理水平不断提升,我们必须合理地设计与外包相关的组织结构与角色工程界面。反思部分外包项目管理失控现象,发现企业在软件项目外包管理 方面职责不是很清晰。外包的策划、承包商的选择、监理执行等过程中怎么协同,目前主要取决与客户经理和高层意志,其他角色基本上缺位或虚位。 

  参考 CMM理念,结合国内软件工程特点,笔者建议外包(或外包为主)项目还是采用外包管理部门领导下的项目监理负责制比较合适。类似内部实施项目的业务主管部门领导下的项目经理负责制, 

  外包管理部门负责根据项目需求,定义外包需求;策划外包承包商的选择;外包合同的拟定;推荐并管理各外包项目监理;执行外包合同,监控项目进展;积累外包获取的财富;量化评估外包承包商的业绩;维护外包承包商关系记录等。

  市场营销部门在项目转入工程实施阶段后,向项目监理转交客户接口;配合项目监理做好客户沟通管理;配合项目监理组织好项目各里程碑的提交内容的客户认可获取;协同项目监理做好项目验收工作等。 

  项目管理部门根据公司规范一方面组织项目各方面评审、审批;另一方面从配置、测试、质量等角度做好项目支持与度量,为项目监理定量监控项目进度、把握项目质量、规避项目风险提供支撑。 

  商务渠道部门则配合项目监理做好合同管理,设备采购,款项支付等工作。

各项目高管根据项目特点,审批决策外包项目需要实现的主要目标;任命评审项目监理;确定监理策略;选定外包承包商;外包合同批准与中止等。

  我们在进行软件外包项目的管理时,首先要树立这是一个软件技术项目的 意识,是公司软件开发组织的向外延伸。对外包承包商的管理必须面向组织管理,避免个人因素起决定作用。由于涉及甲乙丙三方,公司对外接口务必明确,工作书 面化,规避口头化、默契化。如果某个外包项目特殊,不便进行过程监理,可以考虑采用销售项目管理而不是采用软件外包项目管理。 

  软件项目外包管理需要涵盖软件生命周期中的各个过程。与内部实施项目类似,管理关键在于各过程域和知识域的监控。主要关键过程如下:
  • 外包合同的内容策划

  • 外包承包商的选择 

  • 外包合同签定 

  • 外包项目启动 

  • 外包项目监理执行 

  • 外包项目变更控制 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780914/viewspace-536477/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-07

  • 博文量
    172
  • 访问量
    334104