这篇文章是我的一个外国的同事Gareth推荐给我的,我和他一起工作过一段时间。他之所以觉得非常不错,是因为这篇文章让他身有体会,他觉得我也一定会有体会,并让我考虑一下翻译到我的blog上来。我看完后觉得很有代表性,而且觉得说得太对了,所以翻译过来, 希望大家都读一读,最好转给你的公司老板

  这篇文章来源于 StakeExchange 上的一个问题——“为什么BA和PM的薪水要比程序员要高?”,顶在一楼的回复分析了这个原因,并指出了两种管理文化。

  ———————————————————正文开始——————————————

  一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水会和职位的层次绑在一起”。但是,这个答案同时也折射出一个事实——我们的薪资是基于我们所理解的价值,但这并没有解释:

  1. 为什么PM(Project Manager)和BA(Business Analysts)在很多软件公司里在组织的上层?
  2. 为什么软件项目团队总是在最底层?

  这两个问题真是非常地值得我们去问,去思考。

  总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂)和 Film Crews(电影工作组).

  Widget Factories 想要去解决 怎么去激发被X理论所影响的人 。X理论由 McGregor 提出,这个理论是说,一般人的本性是懒惰的,工作越少越好,可能的话会逃避工作,大部分人对集体(公司,机构,单位或组织等)的目标不关心,因此管理者需要以强迫,威胁处罚,指导,金钱利益等诱因激发人们的工作源动力。于是,经理总是要去做他下属的工作。于是,基于这种前提下所思考出来的管理方式,很自然的就是——整个团队能够容易地被经理一个人所取代,这种团队中的每一个人都很容易被别人取代,在这种团队里,经理的工作能力不断地被加强。因此,这种公司一般使用树形层级的组织结构,而不是水平式的工作角色。

  Widget Factory管理体系运作于制作软件的某种假设,这种假设需要BA在一个定义的非常明确的并且需要主管项目经理监管的流程在,准备软件的规格说明书。这种软件制造业需要对项目定置足够的可被替换的编程和测试资源。整个工作由事先安排好的预算来驱动,这个预算由PM和BA在初始化business case的时候完成。

  一个Widget Factory的公司的管理可以通过观察这个公司员工的谈话方式识别出来。他们很喜欢谈论Resource资源(包括干活的人也叫做resource),Process流程,Operating efficiency运作效率,uniformity一致性, repeatability可重复性,严格在控制对资源的使用,鲜明的工作角色和鲜明的流程定义(inputs 和 outputs)。他们对实实在在的软件开发漠不关心,他们想要把理想中的软件开发运作变成他们看得见的图画。

  Film Crews 。这种公司认为人是有相当高的智力和创造力的,是自己可以激发自己的(陈皓注:即使没有外界的压力和处罚的威胁,他们一样会努力工作以期达到目的——人们具有自我调节和自我监督的能力),人们努力工作,并且可以享受工作(人们愿意为集体的目标而努力,在工作上会尽最大的努力,以发挥创造力,才智),就像孩子喜欢玩一样。 Film Crews 认为,每一个个体自已的专业能力,要远远优于那种被组织和协调出来的能力。因为经理不再代替每一个人,而树形的层次架构也不能很好的运作——人们不得不以比较复杂和形式合作才能把事搞定。工作职责变得非常地垂直——你需要具有从上到下的而比较宽泛的各种能力(陈皓注:每个人都需要有管理和技术能力),这种管理也就是基于McGregor的Y理论。

  一个Film Crew的Director(注:有总监和导演的意思)了解要把一个伟大的软件组合起来的每一个碎片,他需要组织一个无与伦比的团队,并且要帮助这个团队能凝聚在一起,团结在一起工作。他的角色是鼓舞大家,守护着构想(Vision),提供方向和集中大家的精力。每一个人都很关键,因为“Director”相信软件的结果来自所有的参与者,以及他们那种独一无二的团队工作方式。大家都知道自己是这个事的一个明星,明星效应可以增加成每个人的成功的机会。而他们的构想(Vision)驱动着预算和拨款。

  当我们用报酬来表示的话, Widget Factories 认为,有价值的东西总是从PM和BA派生出来的,所以他们常驻在管理层的上面,也有相应的报酬,而软件团队,只要他们正确地把需求变成可工作的代码后就变得无所谓了。PM 和 BA 努力工作来维护他们的权位,他们通常不会让你能得到项目的原始信息。团队拿不到项目的原始信息,团队就要拼命地制造各种理由来让他们的方案变得有价值,程序员成为了只会从PM和BA那边听从命令的工人。这种情况反而让Widget Factory公司放大了他们的那种想法——程序员都是差不多的,就像车间里的工人一样,他们只不过在机械地干一些很复杂的但是很标准的事情。

  和Film Crew公司鲜明的对比,Film Crew更主张的是平等主意,每个成员都可以不受限制地获得主要的和原始的信息,其鼓励形成价值判断,并且可以自由地选择不同的方式来达到团队的构想。Leadership领导力结构基于人的能力而不是工作角色。报酬拆射出这个人是怎么在这个项目中工作的,需要明白这个人为我们的软件创造了多大的价值和产生了怎么样的结果。在这种环境里,PM的工作显得并不突出,他也许也不太可能是一个有创造力的领导者,工作角色被弱化成了一种行政管理上的支持者,以及团队外部的联系者。BA的部分工作直接被团队取代(在项目早期被Director取代)。

  现在,一点也不奇怪,大多数公司内的软件开发团队以及一些咨询工作运作于 Widget Factories ,其需要依赖于流程来不断地制造那些无聊的软件。在这种情况,惯例上来说,PM和BA要比程序员挣得更多,这是基本一种他们可以创造更多价值的假设。在这种组织架构和管理里,程序员们很难证明管理是错误的。

  成功的软件公司都会趋于采用 Film Crew 的方式,任何其它的东西都会妨碍他们吸引牛人的能力,因为只有吸引了牛人,你才能创造出伟大的软件。在这种公司里,一个好的程序员的收入会高过BA和PM很多。

  ———————————————————正文结束———————————————

  读完这篇文章,我发现这完全就是在说我上一家公司和现在公司。我上一家公司的经理们最喜欢谈论的就是resource、 process,而他们的Project Manager或Team Manager或Dev Manager几乎不会为软件团队分担真正的软件开发的压力,还不如Widget Factory。哎!第一次看到这么被人系统地表达出来,心中的一些困惑都得到了解答。

  你的公司属于哪一种呢?

转载请标明出处 http://blog.csdn.net/shimiso

技术交流群:361579846

软件公司的两种管理方式相关推荐

  1. MAX31855电路和程序,实现SPI和软件模拟时序两种方式读取数据

    1. 概述 MAX31855为热电偶至数字输出转换器,内置14位模/数转换器(ADC).器件带有冷端补偿检测和修正.数字控制器.SPI兼容接口,以及相关的控制逻辑,在温度控制器.过程控制或监测系统中设 ...

  2. 福光电子蓄电池测试仪软件,福光电子蓄电池容量测试仪IDCE-4815C系列——交直流两种供电方式...

    IDCE-4815C系列蓄电池容量测试仪无线单体监测,超大彩屏显示,交直流两种供电方式 产品特点: 采用蓝牙无线单体监测技术,支持2V/6V/12V单体电压监测. 单体电压采集和记录采用总线数据结构, ...

  3. 麦格纳软件公司绩效考核信息化管理解决方案

    麦格纳软件公司绩效考核信息化管理解决方案 绩效考核是公司管理的重要部分,也是人事决策的重要依据.企业经过考核,可以对员工的心理素质.知识素质.业务素质等进行评价.企业可以根据员工的特点用人所长.另外, ...

  4. wdcp支持两种安装方式

    v3.2版本已发布,支持多PHP版本共存共用,支持SSL证书,更多可看论坛 v3版讨论区 更多安装说明请看 http://www.wdlinux.cn/bbs/thread-57643-1-1.htm ...

  5. Kafka结合Spark-streaming 的两种连接方式(AWL与直连)

    kafka结合spark-streaming的用法及说明之前博客有些,这里就不赘述了. 这篇文章说下他们结合使用的两种连接方式.(AWL与直连) 先看一张图: 这是kafka与streaming结合的 ...

  6. php安卓苹果打开自动分开,苹果、安卓手机投屏不掉线的两种设置方式

    苹果.安卓手机投屏不掉线的两种设置方式 有用户反馈:"通过你们[AWIND奇机]的无线投屏器,手机投屏的时候,过几分钟就掉线." 经过微信视频,我们发现是该用户的手机在5分钟之后就 ...

  7. PyQt5随笔:Qtdesigner设计转换而来的界面.py文件两种调用方式

    PyQt5随笔:Qtdesigner设计转换而来的界面.py文件两种调用方式 文章目录 PyQt5随笔:Qtdesigner设计转换而来的界面.py文件两种调用方式 1.前言 2.方式一:另建 py ...

  8. 【IOC 控制反转】IOC 简介 ( 依赖注入的两种实现方式 | 编译期注入 | 运行期注入 )

    文章目录 一.IOC 简介 二.依赖注入的两种实现方式 一.IOC 简介 IOC 是 Inversion Of Control 的缩写 , 控制反转 ; 其最主要的作用是 降低代码的耦合度 , 最常见 ...

  9. kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式...

    2019独角兽企业重金招聘Python工程师标准>>> 今天要说的干货是:以Kotlin,在MVP模式下(OKHttp和 Retrofit+RxJava)网络请求两种实现方式的一个小 ...

最新文章

  1. ISIS和OSPF的比较
  2. Android studio使用心得(二)— 打包签名apk发布
  3. python 提取字符串中的数字
  4. MATLAB信号处理之常用信号的表示
  5. Skin Demo优化之一
  6. 四面体的表面积_为了解释南北两极海陆的分布,科学家提出了一个“四面体”的观点...
  7. ora-01591:锁被未分布式事物处理/Distrib tran
  8. python3.5和3.7可以共存吗_centos7下Python和python3共存
  9. zznu 1996 : 正三角形和圆的爱情
  10. 记录一次线上事故:SparkStreaming 写入 Hive 延迟
  11. 当深度学习遇上图: 图神经网络的兴起!
  12. mysql5.7 非gtid同步
  13. 突击计划——给定三角形边长,求面积
  14. java+围棋+棋谱回放_聂卫平对战围棋高手Master完整比赛视频回放 全局棋谱复盘...
  15. spss多元线性回归散点图_利用SPSS进行线性回归分析
  16. 计算机分盘介质受写入保护,“介质受写入保护”的解决(适用于U盘或移动硬盘)...
  17. html微信公众平台登录界面,微信公众平台登录界面在哪里
  18. 自学系列-有哪些高质量的自学网站
  19. 全球与中国汽车内饰牛皮革市场发展调研及未来前景预测报告2022-2028年
  20. D3D11的简单字体

热门文章

  1. 山东科技大学计算机毕业论文,山东科技大学教务综合管理信息系统.pdf
  2. Fastjson AutoType
  3. <span>标签向右移动
  4. HTML生日快乐代码 HTML5七夕情人节表白【粉色烂漫的七夕情人节专题页面】 HTML5七夕情人节表白网页源码 html css javascript
  5. dagger android,在Android开发中使用Dagger2的方法
  6. python成功将PDF文件转为图片,一次成功,不再踩坑!
  7. Ubuntu彻底清除history命令历史记录
  8. OutputDebugString 封装
  9. BOOST库下载安装
  10. MFC中CopyFile容易出错的方面