[干货] 接包前搞定了这3件事,被坑率为0!

2018-05-24 11:03 1300 2
  承接外包项目是程序员/外包企业磨炼技术能力、获得技术变现的重要手段。不过,提供技术外包服务可并不是轻松的事情。无论是接包前期的需求梳理,还是谈判过程中的议价定价,以及项目开发中的进度管理、成果交付,还有项目完成后的后续维护和服务,每一个环节都埋藏着大大小小的“坑”,处理不好,很可能会让你的外包服务无法愉快的完成。

  为了帮助IT服务商更加顺畅的提供优质的外包服务,中软国际旗下IT众包平台解放号近期推出了“如何应对外包中的撕逼大战”系列外包课程,特邀三位在IT服务领域有着深厚经验的讲师,分享外包服务过程中的各类注意事项。

  昨晚(5月23日),系列课程的首位特邀讲师荆明明就在荔枝微课上为大家直播分享了《程序员/外包企业接包时应该注意些什么》话题,本次课程就接包之前的三大事项:需求明确、项目报价、合同签订做了细致的分析和讲解,干货满满,赢得了学员的一直好评。


1.png
讲师:荆明明

  讲师简介:
  荆明明,中软国际解放号特邀讲师,华为云认证讲师;HCDP-Cloud Service Systems Instructor认证讲师;腾讯云讲师;《HTML5移动应用开发》图书作者,具有内部OA办公系统、代码众包平台等十余个大型项目实战经验。对于外包管理、项目管理有深刻的见解。

  《程序员/外包企业接包时应该注意些什么》课程精彩摘要:

  一、IT外包服务接包流程


  接包的流程本质上是一个双方沟通交流的过程。交流的越多、了解的越多,后期的问题就会越少。

2.png
图:接包流程

  接包流程大致分为以下几个步骤:
  1.需求讨论
  需求讨论环节,发包方需要做一个项目的基本介绍,提供基本的功能需求和心理报价。而接包方则需要对这个需求进行可行性分析,以及给出功能建议。

  2.方案演示
  明确需求之后接包方要做项目的PPT演示方案。有两种方式,第一种是做一个演示方案,现场给发包方做演示;第二种是做一个相对完整的方案,提供一个高保真的原型图直接发给发包方。
  发包方在这个环节要做的就是根据接包方的功能演示,明确一些功能要点。

  3.拟定合同和机制
  外包合同一般是由接包方也就是IT服务商来拟定。这里要注意的是,接包方一定要提供详细的报价单、工作量评估,以及开发进度安排,明确双方的权利义务和责任。

  4.签订合同
  合同的签订标志着外包项目正式开始。

  5.实施开发
  开发环节包含几个流程:设计、研发、测试、部署、发布。

  6.中期检查
  在开发的过程中,发包方会有一个中期的检查,重点检查一些基本的功能,或者界面是否符合要求。这个过程中很可能还会进行一些修改。这就要求接包方有一个持续的交付能力。

  7.演示验收
  项目接近尾声的时候会有一个演示验收的环节。接包方需要提供一些相关的文档、可交付的源码等等,给甲方验收。

  8.维护升级
  验收之后还会有个维护和升级的流程。可能涉及一些功能修复,甚至增加功能的需求。
  整个外包流程大致就是这样,这里面每个环节都有一些需要注意的事项和细节。接下来我们就重点介绍接包之前需要注意的一些事。

  二、影响外包项目质量和进度的因素——需求

  作为接包方我们需要注意很多细节,来保证项目低成本低风险顺利完成。最重要的一点就是需求。

  1.四类常见的客户需求,如何应对

  第一类客户:知道自己想要什么,但是在沟通的时候并不能把自己的需求表达出来,或者不知道用什么专业术语描述,那么双方交流过程中,我们获取到的需求信息可能不是最真实的。这类客户大约占50%。

  第二类客户:他可能是一家创业公司或者一个个人。他的需求只有一句话,“你给我模仿一个淘宝/美团/滴滴打车”。

  第三类客户:描述需求的时候比较模糊,着急的要报价或者方案,没有任何的需求讨论。你可能会怀疑他是不是来骗报价或者骗方案的。

  第四类客户:提供了详细的需求文档,甚至提供了高保真的原型图给你,你只需要来做项目实现。这类客户是最好的,大约占10%。

  以上是四种常见的客户类型。对于第一类客户,你还可以做沟通和引导,通过细致的沟通,引导他把需求明确、细化。最难搞的是第二类和第三类客户。

  对于第二类客户,你不要着急给报价,不要着急给方案,要主动的帮他细化需求。你可以拿以前类似产品的解决方案,来帮他做功能的细化,告诉他实现这个项目需要哪些功能、每个功能的技术点在哪里,实现这样功能的程序员薪资是多少、成本是多少,这时候客户就会了解到成本问题。帮客户做需求细化、帮客户明确需求,对后期报价有很大帮助。

  第三类客户,如果你感觉他是来骗方案或者来骗报价的,第一不要给他报价、方案。你可以尝试约见他现场谈需求,特别是约见他的领导层谈需求,这样对方也会付出一个沟通成本,他就会考虑这个成本。如果他不同意现场约谈,那就大致可以认定是在骗取报价。第二,这类客户可能没有任何耐心,但如果你有很强烈的意愿和对方合作,你还是要给一个基本的报价。这时你要注意客户的特点,比如他特别注意成本,或特别关注某个核心功能,那你就可以先给他某个模块的报价,这个模块有他最关注的核心功能。即便是来骗报价的,他最后也会有一个价格对比、选定服务商的后续操作。你只要用心了,就会有一定优势。第三还有一种方式,就是我们收取一定的订金,保障有一定的成本管控。

  2.基于一个确定的原则把控需求

  无论遇到那种需求客户,作为接包方,你只要基于一个确定的原则把握需求,对后续接包还是很有帮助的。

  第一是必须明确需求。即使只是200块的外包项目,也要有明确的需求。充分了解需求才能为开发和交付流程中减少不必要的成本。我们需要注意:(1)引导客户描述需求;(2)推荐通用功能;(3)非常简单的项目也要有基本需求;(4)需求不明确时不要报价;

  第二是细化需求。每个人对简单和复杂的定义是不一样的。比如上面提到的第二类客户,就认为需求非常简单。为了改变这种客户,就要对需求进行细化。同一个项目用不同的架构、同一种功能用不同的实现方法、一个功能支持多种方式——这几种情况下项目的成本都是不一样的。所以你要把需求细化到足够细的颗粒度,比如实现某种功能,使用某种框架,这对避免后期项目交付时的扯皮也很有帮助。

  第三要拥有应对需求变化的方案。作为开发人员,要尽量基于软件工程、敏捷开发、精益软件开发模式进行开发。基于先进的软件工程理论进行开发的话,里面有持续的集成、持续交付,有面对客户沟通的过程。可能在持续交付的过程中,用户已经发现需求变化了,那这时候修改成本相对会比较低。否则,需求修改到最后才会被发现,成本是很高的。此外,就是要将需求的变化计入成本,在报价时考虑到需求变更因素。

  三、外包项目如何报价才能获得双赢?

  报价是外包过程中另一个非常重要的环节。具体流程包括:成本评估、风险评估、预期收益、报价。

3.png
图:报价流程

  1.成本评估
  成本评估包括实现成本和管理成本。实现成本就是你具体的开发成本,按照开发工作量、功能模块、人员薪资等因素去计算,这个一般都会考虑到。比较容易被忽视的是管理成本。管理成本中包括沟通成本,需求讨论、需求维护、后期的培训和维护等事项所付出的成本,都要考虑进去。

  2.风险评估
  风险管控包括三个方面。
  第一是需求的变化。对于外包服务来说,需求总是在变化中的,这个也要计入到成本中。你需要把需求文档写入合同,细化需求,明确指出如果有需求的不同、需求的增加,要产生新的费用。
  第二是项目实现的风险。比如遇到突发性的技术难题,或者使用的框架或平台临时的变动,像苹果公司突然不支持某个框架了,你的开发方式就要变化。
  第三是甲方的风险。比如甲方不能按时支付款项,甲方需求更改等等。那你就需要在付款机制上做一些应对处理,比如定金、比如保证有头期付款、违约金等等。

  3.预期收益
  我们项目交付肯定是要赚钱的,有收益就要有自己的预期,一般这个预期是在20%~100%,就我所知的一般情况下是50%。就是你的成本付出是100%,那么报价就按照150%报。

  4.报价
  真正报价之前,我们先要了解对方的心理价位,了解对方的报价范围。看这个报价范围与我们的成本和预期收益之间是否有重合空间。如果两个价位相差非常大,那这个项目就可以pass掉了。如果有重合空间,就可以再谈。
  报价之后是定价。有时你需要在报价之上给出一个折扣优惠。比如是老客户、熟人介绍、或者众包平台上接的项目,平台提供一些福利等等。还有一种情况是,双方合作意向强烈,后续还有合作可能,或者本次合作能够给你带来一些口碑营销上的好处,那也可以低于成本报价。但是必须让客户知道,当前报价是多少,给你的优惠是怎样的。
  给出定价之后,详细的成本来源,都需要在合同中有所体现,也就是要有一个报价单。

4.png
图:报价单示例

  四、外包合同签订的注意事项

  以上沟通环节完成后,就到了合同签订环节。外包服务合同一般是由接包方来提供,里面包括项目双方的责任和义务。以下事项在签订合同时需要特别注意:

  1.付款机制
  一般公司都是分期收款,比如分三期有“5-4-1”模式。也就是第一阶段付50%,达到一定进度付40%,交付完成之后再付10%尾款。也有一些公司喜欢一次性付清。这种一次性付清里90%以上都是项目交付以后再一次性付清,这时服务商就面临一定的风险。比如甲方毁约的风险,甲方无力支付的风险等等。这就需要做一些风险把控。一种方式是提高报价,另一种方式是通过第三方做风险控制。比如你在第三方平台接项目,相对来说第三方平台对发包方的付款能力也会有一个了解。
  付款机制的风险管控上,要注意合同中必须包含详细的报价表,以及收款计划。

  2.需求写入合同
  前面提到过,我们对需求的沟通要尽量细化,明确功能要点,然后接包方提供详细的需求文档,以及进度安排计划,并且写入合同。最后项目是根据这个文档来验收的。

  3.接口硬件费用
  有些可预见的接口费用可能是包含在开发成本和报价中的,但有些项目没接触之前不知道有这个需求,或者会有一些临时的接口硬件费用,这时可以在合同中添加相关的说明。
  你需要明确服务器费用、第三方服务费用(如短信接口费用,或一些方案的增值服务)、上线APP市场的成本以及运营的成本等等。

  4.维护升级费用
  一般情况下,项目交付后会有一个免费的服务期。比如项目结束后两个月内免费培训、维护。但如果免费服务期外,甲方仍有维护的需求,可以按项目总额的百分比(一般是总额的10%)收取下一年的维护费用(维护费仅包含对已有需求功能的维护)。
  对于有需求变更,或者新加一些新的功能点,需要评估修改所需的工作量,再额外算升级的费用。

  课程Q&A:

  问:发包方的意愿比较强烈,但是给出的价位比较低,如何做才能实现收益最大化?

  解答:有三种方式应对。
  第一种,是把他的需求进行一定的删减。当然这不算一种很好的解决办法。但如果这是一个全新的项目需求,你以前的解决方案中没有类似项目的,确实成本比较高,价格比较低,那么你可以把他的需求进行一定的删减。
  第二种,这个项目你以前有过类似的解决方案,可以把原来的方案拿来复用的,能够降低成本的,那么价格低点也可以接受。
  第三种:以前没有做过类似项目,但是报价又很低,需求也不能减,那要考虑多方面的因素。你需要和发包方密切的沟通,看看他是否还有其他的项目需求,如果有,双方可以签订一个战略合作协议,保持良好的合作关系。就是本次给你一个优惠,后续的项目我们深度合作,所有项目都交给我来做。

  问:如何应对外包雇主频繁更改需求?

  解答:这个我们刚才讲过,首先是尽量有一个明确的需求文档。如果明确了需求,后续还要改动的话,要有一个成本控制。就是说修改需求可以,但是你要支付我额外的费用。但是如果是老客户,有时候这么做不太合适,那就要在开发过程中持续交付。只有持续交付,才能把需求的变更最早的发现,越早发现,越能够最大化的降低成本。

  注:其他提问因与课程中介绍的内容有重叠,不再复述。

  以上就是本次课程的精彩内容回顾。获取本次课程音频资料、课件下载,请点击这里:http://bbs.jfh.com/topic/28153

  “如何应对外包中的撕逼大战”系列课程下期活动预告:

  5月30日晚20:00~21:00课程主题《精益需求管理》;主讲:中软国际培训学院高级讲师马爽;课程形式:在线直播
  6月6日晚20:00~21:00课程主题《如何避免项目交付后扯皮》;主讲:中软国际解放号特邀讲师白仕云;课程形式:在线直播

微信图片_20180524110815.jpg
手机扫码进入课程直播页面


  报名参加下次课程,或想与本次课程老师在微信群中交流,请加解放号社区小助理——解小媛微信号:JFHC-1,备注:外包课程进群。

  更多精彩课程,请持续关注解放号社区公众号。

22222.png
解放号社区微信公众号


您需要登录后才可以回帖 登录 | 立即注册