软件外包由来已久,追溯起来应该从有软件开发这个行业起就有软件外包服务这个行业,漫长的发展历程诞生了很多的外包服务企业和服务模式,总结起来一共可以分为三个阶段:
第一阶段
程序级外包,这个阶段原格意义上来说还不能算是一种真正意义上的软件外包,更准确地应该叫程序外包,因为那个时代的程序非常简单,之所以外包主要是因为技术壁垒而寻找一些专业的人士处理一个程序算法之类的问题。
第三阶段
从比较大规模的电脑软件出现之后到现在都属于这个阶段,这个阶段的软件已经比较复杂,开发一套软件是个系统的工程,不再是一两个牛人能干得了的事,这个阶段也诞生了很多的软件工程和软件项目管理方法论,同时也诞生了大量上规模的软件开发外包开发企业,如东软集团(600718,股吧)、新思软件、柯莱特、万洲软件。
这个阶段项目规模较大,参与的人员较多,一般来说少则几人,多则几十几百人,对项目的管理控制要求比1.0时代高很多,这时候见得最多的是定制化的企业内部应用系统,各种定制化的ERP、CRM、OA、费用系统、订单流转系统等等。这类系统有个特点,那就是委托方一般非常了解自己想要什么,通常能够提供非常详细的需求文档,大多数都会整理一堆的流程、表单之类的,配合一些文字说明。施工过程绝大多数采用瀑布模式即可,即需求确定之后进入封装施工,直到开发完毕才将结果提交给委托方。前期沟通到位通常大差不差,如果沟通得不是很理想也可以适当修改,委托方也有足够的耐心来等,毕竟没有系统的时候世界照转。
第三阶段
随着国家对大众创业和传统企业互联网+转型号召,一大批与互联网相对较远的人群踏入到这范畴,因缺乏技术积累,许多互联网创业者或传统企业老板在运作互联网项目时经常卡在技术问题上,互联网创业项目也好,传统企业互联网+转型项目也好,一般对时间要求都很高,在没有能力搭建并管理一个技术团队时,选择开发外包还是一种明智的选择。
这个阶段的项目大部分都有以下两个特点:
a)时间紧
不像企业内部管理系统,早一天晚一天都不是什么问题,无非就是麻烦一点罢了。创业项目或互联网+项目一般都会有最佳窗口期,错过了这个窗口期基本上就是白干,所以容不得开发过程中有半点闪失。
b)自己也不知道想干什么
这句话稍有点夸张,严格来说,创业者或传统企业老板中,大部份知道自己想要干什么,但是不知道该怎么干,也就是对于自己的想法,不知道怎么通过一个互联网产品来落地,当然这其中还有一部分人真是不清楚自己到底要干什么。
c)项目没有终结点
对于传统管理系统项目最怕的就是没有终结点,而对于创业项目或互联网+项目最好是没有终结点,有有终结点就意味着项目折腾不下去了。
云中计算有限公司根据这个阶段业务的特点,在行业内于2015年首次提出极限交付”概念,经过一年多的实践证明,使用极限交付”业务模式后,平均项目延时减少了近40%,成本下降了30%,客户满意度提升了62%。
极限交付”从概念上理解是极限迭代”加持续交付”,业务模式具体而言由以下几点组成:
1、商务洽谈阶段
抛弃传统软件外包中业务人员不懂技术,大包大揽的陋习,在商务洽谈阶段除了最初的信息收集环节,其它工作均由最资深的技术专家级人员主导,这样保证了快速确定业务的可行性,防止从根上就长歪了。
2、原型沟通阶段
如果初步沟通可以达成共识,则进入到沟通需求,需求阶段不以冗长的文档为交付物,改由设计原型,只有原型是双方最容易理解也最接近实际交付产品,此阶段过后才会正式出具报价,这样防止了先猜一个没有任何依据的价格,然后双方在框定的价格区间内打功能保卫战。
3、密集施工阶段
这是极限交付”与以往软件外包差别最大的一点,虽然软件工程方法论中早已提出螺旋开发模式和迭代开发模式,但由于交付繁琐,所以一般采用瀑布模式居多,绝大多数委托方看到系统已经是在快完工的时候。
在云中计算公司内部,极限交付”系统要求合同签订后一周上线第一个版本,该版本虽然还只是雏形,但是可以完成用户登录、注册等常见功能,并且具有主界面,在随后推进过程中不停迭代交付,迭代周期非常短,一般能短到1天。就这样,委托方就像站在一个巨大的玻璃房外面看着自己的房子一层一层往上盖一样,当发现有偏差时可以及时纠正,最大限度防止往上盖多了需要返工带来巨大的人力成本浪费。
3、迭代升级阶段
运作好的项目最后都会组建自己的开发团队,但这个过程不是一天两天能完成的,在委托方未组建起开发团队前,为了适应项目运营推广步伐,需要对产品进行不断升级。
在云中计算所倡导的极限交付”模式中,第一个版本交付后转入到迭代升级阶段,在这个阶段需求并不是由委托方一次大量提出,而是以一个较短的周期(通常为两周)确定下一周期需要做什么,确定之后又进入短时间的密集施工,直至一个周期结束。