今天讨论的问题是软件行业一个离散众包的问题。对于这么一个课题,其实我想了蛮久,也困惑了蛮久的。主要是什么情况呢?软件行业在过去20年里发生了重大变化,主要是人力成本大幅度攀升,可能2020年相比于2000年,软件开发的人力成本在翻几番式地增长。传统软件公司的操作模式,它会去接一些单子来让自己雇佣的软件工程师们去完成,这样的软件公司规模大到几千人,甚至有上万人,还有几百人,几十人甚至几号人不等。这样不同规模的软件公司,它会去对标不同规模的项目,它也可能同时会接不同的项目,对不对?这是传统的一种。
软件行业的早期发展,比如在美国硅谷,在美国波士顿,在美国西雅图,作为知识密集型行业,软件开发人员是相对物理集中的。随着互联网的发展,高等教育的发展,软件公司对距离的要求越来越低。美国的一个软件项目,它会拿到中国来做,会拿到印度来做,因为中国和印度的人力成本远远要低于美国。在软件行业里面,比较常规的一种工作量计算方法,或者叫开发成本的计算方法,是以人月为单位的,所以说,在软件行业,它的主要成本是人与时间。
互联网解决了一个软件开发的距离问题,使得把劳动往人力成本低的发展中国家转移,这就是离岸软件外包。但是软件外包分发的方式还是没有发生变化,它还是采用一个雇佣的方式,就是说,在发展中国家,软件公司承包了美国过来的一个外包业务,它还是要全职雇佣软件工程师,这跟原来传统的软件公司雇佣的模式一样。
那么,当前软件行业又是什么情况呢?中国和印度这两个重要的软件外包离岸开发中心,它的人力成本也在大幅地增长,尤其是在中国的沿海地区,特别是北上广深一线城市,程序员的成本可能已经接近美国硅谷,当然,目前离硅谷的薪资水准还是有一些距离的,但是,它还是在慢慢地往那个方向接近。问题在于,中国公司的盈利能力,原来通过软件外包的形式来走,它也是一个相对低的利润率。随着人力成本的大幅度提升,这样的利润马上会被打掉,甚至出现亏损,也就是说它不再有盈利能力了,没有能力再去承接从美国过来的外包业务。怎么办?在这种情况下,影响是革命性的,不仅如此,在国内的一些软件外包业务也是一样,这里指客户本来就是中国内地的,它也没有利润,雇不起人了。怎么办呢?而且随着程序员数量的不断增加,很多的软件工程师,他可能再也找不到对标的一个可雇佣的单位,于是失业了!
长尾的离散众包效应就这样出来了。就是说,可以是兼职做软件开发工程师的活,可能主业不是干软件开发的,或者是主业是干软件开发的。另外一种,我不受软件公司的雇佣,我是一个自由的软件从业人员,对不对?这两拨人会大量地存在,软件公司为了削减成本,它会雇佣一些比较重要的角色,比如说产品经理、项目经理、核心的架构师,还有一个能解决核心问题的程序员,对大量的、一般性的软件开发人员,它就采用一种临时雇用的方式,实际上,那些人是不受它雇佣的,只是它需要的时候把这些人员及时、有效地组织起来,不需要的时候把这些人员要释放出来。 它要提供的成本,无非就是雇佣开始到雇佣结束中间的那段工作量。
这有几个好处。如果我要去达成某个项目,如果是传统的一个软件公司的话,他可能会去招聘等量规模的人力去应对项目本身,一来他短时间内很难找全合适的人,对不对?短时间内招不到人!如果它这个项目的存续期,可能就是那段项目生命周期的时间,项目结束了以后,这些人如果雇佣了,那么他还需要找新的业务来养活他们,这又会成为一种累赘。 这就成问题了,刚才讲到,我们要马上找到合适的软件工程师们担当不同的角色,把项目给交付了,是不是?所以在这种状况下,我们需要有一个平台来撮合我们的需求方,跟我们的开发方,需求方可能是大甲方,也可能是小甲方,小甲方的意思,就是说它可能把大甲方的业务承揽下来以后,然后让这个项目由离散的程序员们进行一个外包的合作。 这样对他们来说会有一些利润,是不是?
那么,这样的平台来自于哪里?目前有没有这样的平台?目前国内是没有。但是,美国可能有一个比较好的软件开发离散众包社区,叫Stackoverflow。社区存续了很多年,上面的用户基本上都是软件开发人员,人员分布遍及全球的,在上面进行一些疑难答问,不仅时效性好,而且准确度高,长期下来就是一个庞大的知识库。在这么大的一个平台里面,在足够长的时间内,不同类型的程序员们生产了有大量的问题与答案,也就是说,作为平台用户的程序员们,所有的痕迹都在上面。通过这个平台的数据挖掘,就可以判断出某个程序员在以往历史轨迹中的表现。第一个是程序员的专业性,第二个是程序员的积极性,还有他活跃度、准确率等等,平台就会把程序员的能力给评估出来,然后去匹配对应的项目。在网页右侧,有一个Remote的招聘栏目,就是指远程办公式的招聘,不用到指定地点上班,薪资待遇在7万到12多万美金的都有,这里指年薪,可以在远程工作,相当可观。
除了把合适的开发人员找齐,在项目开发过程当中,我们要去有效地监控。管理项目中的每一个角色,监控他们的进度,以及不断呈现项目的整体进度,像最近被阿里收购的Teambition团队协作软件,可能是比较好的来表达了这种诉求。
最后要重申的是,这两个是非常重要的。相当于一个是对软件开发人员能力的评估,一个是针对协作过程的有效控制,但能做到我刚才讲到的大甲方或者小甲方,它有一个很好的产品经理、项目经理,可以是两个人,也可以是一个人兼任,然后通过这个平台来完成这个项目。短期招聘对应的、临时性的软件工程师,然后在项目规定的时间内,把这个工作给完成,差不多就是这样子。
网友评论