人生苦短,远离外包

使用项目思维开发出来的软件就如同刚刚出生的婴儿,四肢健全,但手无缚鸡之力,对这个世界一无所知,更谈不上被社会接受创造价值。

2
467

一个烈日炎炎的夏日午后,一个产品经理又被一个程序员打了,这得是多大的仇恨才能动起手来?

这是上周发生在某企业研发中心的故事,又是“一个需求引发的血案”,然后真的有才思敏捷的网友给出了解决方案。

需求还是有很意思的需求,可怜的是这两位最终被开除了,其中爆料人特地提到了“外包人员”。

也许是我特别敏感,或者还是这么多年对“外包”这两个字是在是鱼刺哽喉一般的厌恶,看到成千上万的外包人员承受着不公平的待遇,实在是不吐不快,最终忍不住坐下来写这段文字。

其实一开始我对外包也没有那么反感,记得2005年刚在北京组建一家外企的研发中心的时候,还跟老板提出我们可以采用外包人员驻场的模式 … … 结果被老板断然拒绝。无奈之下开始了痛苦的招聘过程,每天阅读上百封简历,筛选出几十封能用的,逐个电话面试,第二轮电话面试,文档测试直到Coding Test,每个申请人我至少要花费20小时以上的投入才能决定是否留用,这样持续了1个月以后,能够通过面试过程的寥寥无几。我再次找到老板提起外包的事情,我问他:明明可以用更少的钱,花更少的精力,更快的获取到项目资源,为什么我们要做这样冗长繁琐的招聘过程,老板只在msn上给我回复了一句话:我们不需要项目资源,我们需要的是开发人员(we don’t need project resource, we need developers)。

关于项目资源和开发人员的区别,在后续的几年中,我才慢慢体会到其中的真正含义。软件项目不是有了资源就能解决问题的,只有人能解决问题,如果你希望你聘用的是一个人,你首先要把开发人员当人看待。开发人员和项目资源的区别在于,开发人员会自发的解决问题,你只需要给他一个目标和必要的激励;而项目资源是死的,你不仅要告诉他做什么,还要告诉他怎么做,最后还要追着他做完。你要盖个大楼或者造个冰箱彩电,项目资源一定会多快好省,因为怎么做是固定的,可以复制的;但是造软件这件事情不一样,你需要的是开发人员脑子里面的想法,而这个想法每个人都会不同,无法复制。

如果大家去各种招聘网站上去看看,就会发现外包职位大量存在,这是为什么?其实我们首先要看看到底什么是外包,外包可以分为2种,一种是项目给你,自己去找人,做完了拿着成品回来收钱,这种一般我们叫做项目外包;另外一种,项目还是我的,你就出人,甲方按人头付钱,这种一般我们叫做人力外包。另外按照工作地点是否在甲方的现场,所以还有驻场和非驻场的区别。驻场方式和付钱方式虽然没有直接关系,但一般项目制外包的方式中采用非驻场,而人力外包就基本都是驻场了。

搞清楚了外包的这些形态,我们再来看看为什么很多企业,特别是大型非技术类企业更愿意采用外包的方式。总的来看,原因主要有这样几点 1)节约成本 2)快速启动 3)专业分工 4)规避风险。

关于前2点,都是摆在明面上的说法,也是大多数人觉得理所应当的事情。做好了需求,想清楚了目标,订下了预算,给出了工期;那么剩下的事情就是找个愿意接活儿的供应商把东西做出来。这就好像谈恋爱找老婆,你有明确的目标,明确的标准,找到了老婆签好合同,然后希望人家把家里的活都干了,还给你生个大胖小子。结果就是,闪婚的离的也快,因为发现不合适;婚前省钱的后来发现一辈子都交代进去了,因为人家看的是后期维护。

关于专业分工,这个恐怕是很多项目经理,管理人员精于乐道的原因:我们的主营业务是金融,又不是软件,那么应该找专业的软件公司来给我们开发软件,我们只要雇佣专业的项目管理人员,想清楚要什么就够了。其实这个说法就如同你告诉你老婆,嘿,你是女人,生孩子是你的事情,我现在要一个儿子,可以长高到185,未来能够成为体育健将,给你10个月时间,生一个给我。需求提的都很明白,孩子也给你生出来,然后你就要花费至少18年的时间搞明白到底什么是养孩子(ruan jian kai fa)。

再说最后这个规避风险,这个议题估计是所有的外包项目立项报告中都不会提到的一点,但却是每个项目通过层层审批的最重要的通行证,说白了就是找人背锅。

几年前,我曾经给国内某传统企业新成立的一家互联网公司做过一次有关外包管理过程改进的咨询,对方的目的是希望能够搞清楚如何在现有外包模式下形成类似互联网公司创新能力的研发流程。这次调研中所发现的最大问题有2个方面。甲方本应该掌握产品发展方向的甲方项目经理们,在长期的外包模式下逐渐丧失了对产品本身的理解和对市场的判断,而转而演化成了纯事务性的管理人员。而外包公司为了短期利益,也不会从产品的发展上考虑问题,因为对他们而言,市场和用户对产品的认可与自己的收款并没有直接关系。最后的结果,大家的本职工作都做得很努力,但是产品就是干不过同类的互联网公司的产品,充其量是个追随者,完全谈不上创新。这一发现让我再次仔细思考10年前原老板说的那句话:resource vs. developers。

项目还是产品,这是一个软件行业这几年讨论得很多的问题。采用外包模式的一定是项目型思维,因为只有项目才能外包,产品是无法外包的。项目有始有终,适合使用甲乙方合同约束的方式进行约定。而产品,则很难有一个终止,除非这个产品没有存在的价值了。但问题是,软件到底是项目还是产品? 依靠项目做出来的软件系统(产品)其实就是那个呱呱落地的婴儿,真正的路程才刚刚开始。很多企业认识到了这一点,慢慢减少项目制外包而转而采用人力外包的方式。但这个转变并不能从根本上解决问题。铁打的营盘流水的兵,这些兵还都临时租用的兵。咋看上去这好像解决了项目制外包的弊端,但是带来的更大问题是人员的归属感问题,进一步说就是人员的主动性问题。

在这些年我所接触的大型企业中,采用外包的不少,在实际工作中甲方项目经理采用种种让人匪夷所思的“精细化管理措施”,真可以算得上:防火防盗防外包。表面看上去,原因是外包人员不愿意站在甲方的立场考虑问题,而造成这种心态的根源其实还是外包的那几点“好处”。我清楚的记得,在某企业的研发大楼中,外包人员所处的楼层的人员密度是其他楼层的至少5倍,在一个只能容纳200人的办公室面积中,挤进了不下1000人,室内的温度比较其他楼层高至少2度。这些外包人员所用的电脑,屏幕尺寸不超过20寸,内存仅有4G,打开一个命令行窗口都需要10秒。而在同时,正式员工使用着24寸双屏,每个人独立办公隔间。这样的不公平待遇,你还指望别人能发挥主动性?

这些年我直接面试过的开发人员应该有几百人了。给我印象最深的,是80%的面试者都会问一句:你们不是外包吧?其实我非常理解很多刚刚进入这个行业的新人,工作不好找,明知道外包公司的问题而为了一份收入,为了能够积累一些经验,也要接受这份工作,实在是一件很无奈的事情。我也经历过同样的找工作过程,我能理解这里面的苦衷。但是请你记住,如果你真的想在这个行业混出点名堂,到一家公平对待开发人员的公司去,到一家不会把开发人员当成项目资源的公司去,到一家愿意自主开发产品的公司,到一家愿意创新的公司去。

人生苦短,远离外包。

“在当今的世界,任何的公司都将是一家软件公司 … …”

当软件已经成为我们日常生活的一部分,就像空气和水,没有人会介意它的存在,也同样没有人可以忽视它的存在。 软件让我们的生活变得越发便利,就像你可以动动手指滑动屏幕浏览着这段文字,一切因为软件的存在变得简单。 但是让你的生活变得简单的软件本身的制作过程,却因为要提供这些便利性而变得复杂而难以处理,而且大多数软件开发团队的日常工作就如同刀耕火种一般落后和低效。

英捷创软科技(北京)有限公司(leansoftX.com)是一家专注于软件工程,敏捷开发和DevOps领域产品开发和服务的解决方案提供商。公司由15年 软件研发经验,资深ALM/DevOps专家创建并任公司首席架构师,至今已经为超过100家不同类型和规模的客户提供过ALM解决方案的咨询和落地服务。我们是这样一群人

• 无法忍受还像手工作坊一样的开发软件
• 无法忍受上千人的开发团队的效率还不如一个人单打独斗
• 无法忍受重复的复制和粘贴代码
• 无法忍受开发人员被称为码农
• 无法忍受编码被称为搬砖

因此我们必须做出改变,我们用十几年的经验和手中最先进的软件工程工具,帮助每一名软件开发者享受开发的乐趣,帮助每一家企业高效获取软件的价值。

公元164-182年间,汝南平舆的许氏兄弟于每月初一品评人物,褒贬时政,被称为“月旦评”。所谓“子治世之能臣,乱世之奸雄也”这句许邵评价曹操的话也是来自于“月旦评”;时间一下子来到了2018年,LEANSOFT DevOps招贤令再次发出,望纳天下贤士,共襄DevOps大业。

招贤令全文:月旦评 之 DevOps招贤令2018

本次招聘的对象为 DevOps实施工程师和.Net开发人员

  • 熟练以下开发语言之一 C#, HTML/CSS, JavaScript, PowerShell.
  • 熟练使用至少一个IDE(多了不限),Visual Studio, Eclipse, IntellJ etc.
  • 熟练使用微软 VSTS/TFS 系统者优先聘用
  • 熟悉敏捷开发,Scrum/Kanban并具备相关认证者优先聘用
  • 善于沟通,勇于探索,能够承受压力

对的,没有工作经验要求,没有学历要求。只要你能通过我们的面试流程,这些都不重要。期待待与你一起工作。

希望申请的小伙伴,请关注DevOps公众号,直接留言即可。

- leansoftx.com -

2 评论

Comments are closed.