让我们来谈谈分工

标签: 技术管理 杂项资源 Division of Labour manager Programmer | 发表时间:2015-12-13 12:55 | 作者:陈皓
出处:http://coolshell.cn

Division of Labour昨天,我看到 一个新闻——雅虎取消了QA团队,工程师必须自己负责代码质量,并使用持续集成代替QA。 同时,也听到网友说,“听微软做数据库运维的工程师介绍,他们也是把运维工程师和测试工程师取消了,由开发全部完成。每个人都是全栈工程师”。于是,我顺势引用了几年前写过一篇文章《 我们需要专职的QA吗?》,并且又鼓吹了一下全栈。当然,一如既往的得到了一些的争议和嘲弄;-)。

有人认为取消QA基本上是公司没钱的象征,这个观点根本不值一驳,属于井底之蛙。有人认为,社会分工是大前提,并批评我说怎么不说把所有的事全干的,把我推向了另外一个极端。另外,你千万不要以为有了分工,QA的工作就保得住了。

就像《乔布斯传》中乔布斯质疑财务制度的时候说的,有时候,很多人都不问为什么,觉得存在的东西都是理所应当的东西。让我们失去了独立思考的机会。分工也是一样。

所以,为了说完整分工这个逻辑。请大家耐住性子,让我就先来谈谈“分工的优缺点”吧。

分工的优点和缺点

首先,分工(Division of Labour)应该是由 Adam Smith 在1776年的《 国富论》中提出来的,Adam在那时候就观察到分工对于手工业生产效率的提高。他将效率提高的原因归结于三点:

  • 熟练程度的增加。当一个工人单纯地重复同一道工序时,其对这道工序的熟练程度会大幅增加。 表现为产量和质量的提高
  • 如果没有分工,由一道工序转为另一道工序时会损失时间,而分工避免了这中间的损失。
  • 由于对于工序的了解和熟练度的增加, 更有效率的机械和工具被发明出来,从而提高了产量

分工的确是提高生产力。我想到了福特公司一开始做出来的汽车几乎买不出去,原因有两个,一个是成本太高,另外是生产太复杂,产能太低。于是福特公司开始把制造一辆汽车的工序分解开来,进行分工,分工给福特公司带来的好处是:

  1. 很多工作可以并行了,而且 因为事情变得简单后,执行力也变强了
  2. 一个非常复杂和高深的汽车制造因为分工后, 很多工作不需要很NB的人来干了,只需要一般劳动者经过简单的培训就可以干了。而且,越干越熟练,越干越专业,最终可能让合适的人合适的事。
  3. 分工后导致了很多重复劳动可以用技术来解决,于是福特公司出现生产流水线的技术(你是否还记得卓别林《摩登时代》里的工业生产流水线的场景,那取自福特公司)。

于是,福特公司的生产效率大大提高,最终实现了让每个美国家庭都能买得起汽车的理想,同时让美国成为了轮子上的国家。

不过,我们需要注意的是,在《国富论》中,Adam他同时也提到,分工如果过细,同样会带来问题—— 简单重复的劳动会让人变成一个不会思考的机器,从而越来越笨,进而变成平庸的无技能的人。自“分工”出现以后,争论就没有停止过。

Karl Max同样认为 分工越来越细,会导致人的技术越来越差,同时,大量的重复劳动也会导致人对工作的失出热情,产生厌倦和抵触心理,最终会导致生产力的下降

同时,还有一些经济学家也同样表明分工的一些缺点:

  • 导致人只关注整个事情中的一小块,缺乏全局视角,导致视野受限,没有完全领会工作的意义和目标,从而导致各种返工
  • 对于组织而言,分工也会导致出现大量的沟通协同成本,并出现碎片的生产方式,以及组织的孤岛形式,并不利于提高生产力

当然,奥地利经济学家 Ludwig von Mises 并不这么认为,他认为,在分工所得到的好处面前,这些副作用不算什么。并且,他认为在资本主义的制度下,完全是可以平衡分工的各种优点和各种缺点,从而可以达到提高生产力和提高人员素质的双赢解的。

比如说, 分工中的各种沟通问题是可以通过一个标准协议来解的,造灯泡的,造开关的,造灯座的完全不知道对方的存在,他们只所以可以让做出来的东西拼在一起,完全是通过了一种标准协议完成的。 这也是为什么这个世界上有各种各样的标准化的组织

还有很多经济学家对分工都有自己的见解和想法。不过基本上就是上面这些Pros和Cons了。下图是一个PPT的两个slids,可以点击看大图( 来源

lecture-5-10-728 lecture-5-11-728

全球化下的分工

分工带来问题在全球化的浪潮下变得尤为突出。其委婉地被讲成是比较优势( Comparative Advantage

比较优势(又叫 相对优势)是经济学的概念,解释了为何在拥有相对的机会成本的优势下生产,贸易对双方都有利。当一方(一个人,一间公司,或一国)进行一项生产时所付出的机会成本比另一方低,这一方面拥有了进行这项生产的比较优势。于是,一个国家倘若专门生产自己相对优势较大的产品,并通过国际贸易换取自己不具有相对优势的产品就能获得利益。

于是乎,分工本来想要的是——合适的人干合适的事, 但是在比较优势的情况下,商业社会把分工变成了—— 不是选择合适的人、公司或国家,而是选择成本低的人、公司或国家

经济合作与发展组织 OECD最近(2015年6月28日)对全球化这样建议的——

“有效率的政策的本质不是阻止失业而是鼓励就业,如果各个国家都在收获全球化的利益而不是开放贸易的话,那么一些地方就会失去工作机会,当然也伴随着在另一些地方出现新的工作机会,这是全球化进程不可避免的,而我们面对的挑战是怎么能流畅调整我们的流程,能为那些新出现的工作机会找到合适的技能匹配的工人”。

通过上面的说明,我想你可以知道,为什么中国成为了世界劳动力大国,而为什么当初美国科技公司进入中国的时候,首先把测试的工作放到了中国。这就是所谓的全球化分工。同时我们也可以看到,像我们中国这样技术能力的确非常不足的国家,的确是可以通过分工这种形式,让我们这些技能一般的技术人员参与一个复杂的有技术含量的项目当中。这其中就是分工的光明面和阴暗面。

那么,我们想一想, 随着中国的人力成本的越来越大,国际化的分工因为商业资本的因素,必然不会选择中国,只会选择人力成本更低的国家,比如印度、越南、甚至人力成本更低的国家。美国雅虎和Adobe不是离开中国了么?再看看中国因为人民币的汇率或是人力成本的上升,我们在早几年关了多少个Made in China的工厂,这就是全球化的分工,商业上来说,他不是找最合适的人,而是找成本最低的人。

所以, 你千万不要以为我一提倡全栈了,你QA的工作就保不住了,就算没有全栈,就算是你还在坚持的社会化的分工,也可能让你的QA的工作就保不住了,除非,你能提供更低的价格。(想想这其中的逻辑吧,人家美国人把一些技术工作(比如测试)外包到中国的原因不是因为中国人聪明,想得周全,适合干这个测试这个事,而是因为中国人廉价,所以,当中国不在廉价了,自然就会找更廉价的地方了)

为什么国家要从Made in China转型?不就是因为中国早期拿到的国际化分工就是这些没有技术含量的支持性的分工么?也因此而造就了大量的技能很一般的工人。为了能在全球化分工中能拿到更有质量的工作, 我们必然要从劳动密集型转向成知识密集型,必然要从支持性的工作转变为产出性的工作,必然需要单一技能型的技工转变为复合型的人才

分工的温床和天敌

分工的温床主要有两个

  • 一个是成本和效率,资本家或企业主或一个国家为了追求更快成本更底的生产方式,他们必然会进行大规模的分工,伴随着分工,他们也会把一些知识或技术密集型的工作生生地变成劳动密集型的工作。然后层层外包。
  • 一个是组织的大小,当一个组织的人数不断的变大,那么,你只能把工作和任务分得更细。这是被人数逼的,而不是实际需要的。这就是为什么我们可以看到很多大公司里要么人浮于事,要么瞎忙。

分工的天敌主要有一个——那就是技术

每当新技术出现的时候,一些复杂的工序会被一台机器或是一种高超的技术所取代,不管是被技术自动化,还是被技术所简化 总之,以前本来需要数十人或是数百人才能干的事,突然之间只需要一个人就可以干完了。生产力得到了巨大的释放。所以,你这就是我们常听的—— 科技是第一生产力!

所以, 当你面对一些难题的时候,比如线上的故障,或是一个复杂的软件生产活动,你是要加更多的流程更多的人呢,还是要用技术解决问题呢?一边是温床,一边是天敌,你想好了吗?

什么样分工才是好的

分工是必然的,因为很简单,你不可能一个人干完所有的事情,所以必需要分工, 分工不是问题,而问题则变成了——什么样的分工是理想的,是优雅的,是有效率的?

华君武漫画《科学分工?》

华君武漫画《科学分工?》

对于分工来说,一般来是一种组织和管理形为。就目前来说,现代的公司有两种分工模式,分别是 ControlCommitment 这两种分工。

  • Control就是控制型的管理,它是一种是基于工作技能的分工,于是员工会被这种分工分配到一个比较窄的技能里去完成一个非常明确的工作
  • 而Commitment则是面向员工的责任心和所承担的目标来分工并完成工作的。相比起前者来说,这样的分工在完成工作时,需要的不仅仅是技能,还需要更多的责任感

这么说吧,

  • 对于基于工作技能的分工,你会看到,这样的公司会把技术人员按编程语言来分,比如:Java、PHP、C/C++,或是分成:Web端、iOS端、Android端、后端、算法、数据。或是分成:开发,测试,运维。
  • 对于基于Commitment的分工,你会看到他们这样分的,软件工程师(不分前后端,不分语言,不分运维,测试),因为这样的公司认为,他招的不是只有特定语言技能的Coder,而是而学多种语言多种技术能保证软件质量以及能对软件维护的软件工程师。这种公司的软件工程师是各种团队都可以去的,而他们的分工更多的是按软件的功能,软件的模块,或是软件的产品线来分工。

基于技能的分工已是过去时,而基于 Commitment 的分工是更有效率的分工的未来。你可以参看McAlister-Kizzier, Donna. 的文献 “ Division of Labor.” 。

小结

我说了这么多,不知道你看懂了我想表达什么没有?我不强加我的价值观,只希望你自己问自己几个问题:

1)作为工作的人,在分工中你会怎样选择?是成为一颗棋子,一颗螺丝钉,还是成为一个多面手?

2)作为工作的人,当你选择工作或任务的时候,你是选择做支持性的工作,还是做产出性的工作?你是选择做劳动密集型重复工作,还是做知识密集型的创新性的工作?

3)作为老板,你是想要什么样的员工?听话的只会加班和干重复工作的劳动力,还是有责任心的为企业和产品负责的员工?

4)作为老板,你是想通过分工释放低端员工的生产力,还是通过科技或技术去创造更NB的生产力?

5)作为老板,分工中的问题,你找到比较优的解了吗?比如,对于不同团队间的协议,你找到了吗?

可能,在不同的情况下你会有不同的答案。但是对我来说呢,无论是什么情况,我都只会有一个答案。

(全文完)


欢迎关注CoolShell微信公众账号

(转载本站文章请注明作者和出处 酷 壳 – CoolShell.cn ,请勿用于任何商业用途)

——=== 访问 酷壳404页面 寻找遗失儿童。 ===——

相关文章

相关 [分工] 推荐:

生产分工与风险分工

- 肖 - 辉格
我在《金融对赌不是无价值交易》里分析了衍生品的风险配置功能,如何使得包含复杂风险的生意得以展开,从而推高整个经济水平;从我得到的一些反馈看来,许多朋友没能理解这一分析,或许通过类比和例子能够看的更清楚. 说到生产分工,一般想到的是效率改进和相应的成本节省,即,每个生产者若专注于某一工序,不断重复,会更加熟练高效;这没错,不过生产分工有另一个常被忽视但或许更加重要的效果:它拓展了生产的可能性,即,使得许多原本不可能的生产成为可能.

苹果公司与分工原理

- - 阮一峰的网络日志
我终于读完了 《乔布斯传》. 最大的收获,就是理解了苹果公司为什么是现在的样子. 苹果公司与其他计算机公司截然不同,有着鲜明的风格. 以前,我只是简单地认为,它就是这种特色,或者说它的产品策略和销售方法就是这样. 读了《乔布斯传》才明白,这完全是由乔布斯的个性决定的. 1979年,苹果公司成立不久,乔布斯拍了一张著名的照片.

让我们来谈谈分工

- - 酷 壳 - CoolShell.cn
昨天,我看到 一个新闻——雅虎取消了QA团队,工程师必须自己负责代码质量,并使用持续集成代替QA. 同时,也听到网友说,“听微软做数据库运维的工程师介绍,他们也是把运维工程师和测试工程师取消了,由开发全部完成. 于是,我顺势引用了几年前写过一篇文章《 我们需要专职的QA吗. 当然,一如既往的得到了一些的争议和嘲弄;-).

产品经理与研发经理的分工

- - 标点符
最近在翻看《程序员》杂志的时候看到的一篇文章:被《偷走的童话结局-对营销和研发分工的考核》. 中间反应的问题感觉和现在的工作息息相关,整理下来供思考. 产品经理和研发经理是一个研发团队的重要组成部分,大体的分工均会这样:研发经理负责技术核心,按照需求进行开发. 产品经理作为研发部门的边界部门,与市场对接并提炼需求,以缓冲外部环境的不确定性对核心技术的直接影响.

浅谈产品团队分工的管理

- - 互联网的一些事-关注互联网产品管理,交流产品设计、用户体验心得
  团队的分工协作一直是管理学家们乐于研究的一个命题,良好的团队分工可以使团队运转的更加高效,产出的效率也会有明显的提升,这都取决于分工的合理. 产品经理要将工作分成若干个部分,分别合理的派发给不同的对象去执行,使团队成员都清楚明确的知道自己的工作任务和目标,以及完成工作的方式和方法,这样才能完美的达到分工协作的目的.

Penguins DbTools数据库管理移植差分工具(EXCEL相关) ver 20150201

- - Oracle - 数据库 - ITeye博客
非凡软件站下载地址 http://www.crsky.com/soft/69885.html. DBTOOLS支持ORACLE,MYSQL,SQLSERVER,POSTGRE,DB2, SYBASE数据库相互转换功能. 将数据库中的表结构和数据保存到EXCEL中. 将EXCEL中的数据,同步到数据库中.