问题1:廖老师,您好!很高兴您今天能够接受我们的访谈。现在中国有很多专门做对日软件外包或者对欧美软件外包的公司。我们知道现在国家对软件外包行业也非常重视,而且这几年这个行业在中国的发展也可以说是初具规模了。现在一般中国的软件外包有哪几种形式?大概的模式是怎么样的? 廖文忠:软件外包主要有两种形式:一是输出软件开发人力资源到发包公司项目开发所在地,并加入发包公司项目团队进行开发工作;二是发包公司将软件开发的某些阶段或过程交由外包公司开发完成。 输出人力资源这种形式,外包公司只是提供人员。整个团队的管理和开发工作的安排,都由发包方负责。外包部分开发工作的形式,目前外包公司得到较多的工作主要集中在编码和测试阶段。 问题2:我知道您为很多家企业都做过软件开发的项目管理培训,对软件外包这一块也非常熟悉,那么从项目管理的角度来看,您认为软件外包的项目管理和一般软件开发项目管理有哪些不一样的地方? 廖文忠:虽然我们强调项目管理方法的普适性。但是,在具体的执行层面,软件外包的项目管理,体现出自己的一些特点: 1) 负责外包管理的项目经理,往往不具有对软件开发项目整个生命周期的管理职责。甚至很多外包项目的项目计划(尤其进度计划)都是由发包方制定好后,随任务一起发包过来。这种情况下,外包项目的项目经理很容易忽略了项目管理方面的考虑,而只是一味专注于阅读技术资料、执行代码编写或测试。造成需求理解不一致、进度不现实、质量不合格、组员对工作失去兴趣等项目管理问题的出现,影响外包项目的顺利完成。 2) 软件规范性要求可能会不一样。发包方往往会给出自己对软件规范性的具体要求,这些要求可能与我们的软件外包企业自己的规范性要求不一致。 3) 与发包方的沟通会成为相互协作的重要问题。 问题3: 国内很多公司实施这些项目的过程有很多不顺利的问题,能不能请您给我们总结一下国内外包项目管理的常见失误呢? 廖文忠: 1) 有些外包合同的可行性,在软件外包企业当前的资源状况下,有些力不从心。 2) 开发人员的数量和技能水平,储备不够。 3) 项目核心开发团队难以形成。人员流动性较大。 4) 新人较多,团队磨合周期长,影响项目绩效。 5) 项目经理重技术,轻管理。 6) 项目经理的亲和力不够,沟通技巧不够。 7) 计划只考虑主要的代码编写和测试工作,对于准备和辅助性工作考虑不够。如技术资料的阅读和人员的指导、培训等。 8) 被动执行发包方的进度计划,缺乏对己方项目计划的全面考虑。 9) 被动执行发包方要求的沟通内容,缺乏对己方沟通需求的分析和沟通机制的建立。 10) 项目经理对团队成员的成就感关注不够,造成团队成员积极性不高,影响项目绩效。 11) 时间紧、任务重,忽略质量管理要求,造成bug多。 问题4: 以上问题如何解决呢? 廖文忠: 问题5: 关于解决之道,能否举些实际例子? 廖文忠: 问题6:我知道对于软件项目来说,项目需求分析是非常重要的。那么在软件外包项目的项目需求分析这一块,会不会比一般软件开发项目更难做一些?为什么?怎样才能做好这部分工作? 廖文忠:目前大多数的软件外包项目,都是在发包方已经完成了详细设计之后,将代码编写工作交给外包方进行。还有一部分是将测试工作外包。少部分涉及需求分析的外包项目,由于语言和时差的关系,在需求调研这块会存在较大困难。在整个外包开发过程中,建立更加有效的沟通机制,是做好这部分工作的前提。 问题7:软件外包项目是不是对进度的要求更严格?怎样才能满足客户对于进度的要求呢? 廖文忠:是的。很多外包项目的进度都是发包方项目经理确定的。由于是合作关系,有合同条款的约束。所以对于进度的回旋余地是很小的。甚至根本没有。这就要求外包项目经理更加注重编制进度计划的合理性,同时,注意影响进度的各种因素加以控制,以满足发包方的进度要求。 问题8:一般来说国外客户对软件的质量要求都比较高,那么在项目质量这一块,您认为软件外包项目应该怎么做,才能满足客户的要求? 廖文忠:质量这块,一直是软件外包项目的心病。由于需求分析在国外,造成对软件质量的标准有不一致的认识。有些是语言上的误读,有些是习惯上的差异。另外,软件测试的流程和环境,国内外存在不一致的要求。这些都会造成外包项目存在质量不符要求。外包项目经理需要主动承担软件质量管理的职责,在项目计划中与发包方明确软件质量的验收标准和验收流程及测试环境。并分析开发过程中可能存在的疏漏,制定相应的预防措施。这样,才有可能得到高质量的软件产品。 问题9:您认为承接软件外包项目有哪些风险呢?应该如何规避这些风险呢? 廖文忠:一是商务风险:由于软件规模的评估,目前还存在较大的不确定性。一旦评估失误,直接导致该合同亏损。二是项目管理风险:项目负责人只关注技术实现,忽略了进度、质量和团队的管理,直接导致项目亏损。三是技术风险:人力资源技能不足,数量不足,技术积累不足,都会造成项目无法如期完成。 解决的方法一是建立项目管理制度,推行项目管理方法。二是积累项目数据,支持商务谈判阶段,对项目规模的精确评估;三是利用项目管理,实现项目进度、质量、人力成本的平衡,达到项目盈利;四是精确估算人力资源的真实需求,合理调配骨干人才的使用,并预见性地进行人才的准备和培训。 问题10:在项目沟通这一块,我想毕竟我们面对的是国外的客户,那么相对于一般的软件开发项目,在沟通上遇到的问题会不会更多?应该如何沟通才能保证沟通的效果呢? 廖文忠:这是显而易见的,主要还是语言这一关。在项目过程中,及在公司层面,适当增加语言培训的机会。前提是,项目沟通机制必须在外包项目管理过程中建立,与外方的定期沟通、交付物审查及其问题沟通、外方的接口人、沟通的形式都要事先确定下来并坚持执行。中方的项目经理不能逃避与外方的沟通。 问题11:对于软件外包项目的项目经理来说,您认为应该具备哪些素质? 廖文忠:敢于承担责任,积极进取,具有团队协作意识。项目经理不能只有技术能力,还应有较高的项目管理意识和技能。 问题12:一般来说,对日软件外包项目相对于对欧美的软件外包项目有哪些不一样的地方? 廖文忠:日方的软件外包对于外包方的日语能力要求更高,而且管理更严谨。会有更多的机会,要求外包方派员到日方学习或工作。而且,在尝试新合作时,日方的要求往往非常苛刻。一旦通过了尝试阶段,后期的合作会相对稳固。欧美软件外包,相对来说,更强调双方的协作,强调外包方自主的项目管理意识和能力。 问题13:最后能不能给我们总结一下软件外包项目管理的重点会是哪些方面呢? 廖文忠:除了必须系统地贯彻项目管理的方法外,在项目沟通管理、人力资源管理和质量管理这些方面,需要更加注意外包项目的国际化特点。 问题14:如果国内的软件企业打算要承接国外的软件外包业务,您认为国内企业应该做好哪些准备工作? 廖文忠:了解发包方所在国家和地区的相关法律法规和产品适用国家和地区的法律法规和民俗习惯,了解发包方的项目管理方法和项目管理要求,建立自己的项目管理制度和流程,培养外包项目管理人才,积累技术数据和管理经验,营造国际化团队协作氛围。
|