艾伟也谈项目管理,软件公司的两种管理方式

  这篇文章是我的一个外国的同事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。哎!第一次看到这么被人系统地表达出来,心中的一些困惑都得到了解答。

  你的公司属于哪一种呢?

时间: 2024-09-20 14:51:44

艾伟也谈项目管理,软件公司的两种管理方式的相关文章

浅谈发展博客的两种经典方式

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 随着博客的火热,近年来的博客推广备受站长的青睐.很多站长都希望借着这股东风,把自己的博客推广出去.可问题是要怎样简单.快速.有效的推广呢?在这里,笔者总结了两点推广博客的制胜方法. 第一.利用SEO方式 优化自己的博客,也就是通过SEO的方式进行推广.首先要选择若干个关键词.关键词数量不宜过多,保持在3个左右即可.接下来很重要的一步是要提高选

艾伟也谈项目管理,公司的中场

一个公司宛如一只球队,成败不是一个人的事情,是一整队的事情.那么球队在某一场具体比赛里面最重要的角色是哪一个?不是教练,如果说整个赛季如何可能是教练的功劳.如果是某一场比赛,最重要的角色是中场.对于公司也有这么一个中场的角色,不过不是老总,而是具体的那个产品经理. 其实产品是否成功,部分取决于总体效率如何.我把效率分为两个部分,一个是工作效率,一个是规划效率. 工作效率很好理解,就是每个工时的投入产出比.提高工作效率很好描述:如果我们以每一个人为坐标轴来观测,就是要求每个人都有合适的负担,不能够

艾伟也谈项目管理,项目管理一些体会

项目管理需要的知识,是一个体系的知识,包括项目管理本身的知识体系,以及项目管理要应用到的领域所需要的知识体系,然后就是管理的技能,当时最重要的,是软技能,也就是人际关系技能. 管理的核心:人. 管理的四大要素: 1. 选择正确的人 2. 为他们分配正确的工作 3. 保持他们的积极性 4. 帮助团队凝聚起来并保持团队的凝聚力. 1. 选择正确的人 首先要学会看人.虽然我不是人力资源专家,但是我清楚一个软件项目的成功所需要的成员素质,主要就是沟通能力和责任心. 由于工作需要,我面试过一些人,有毕业生

《Mahout算法解析与案例实战》一一2.2 两种安装方式

2.2 两种安装方式 关于Mahout的安装配置,这里介绍两种方式:其一,下载源码(直接下载源码或者通过svn下载源码都可以),然后使用Maven进行编译:其二,下载完整包进行解压缩.下面分别对这两种方式进行介绍.2.2.1 使用Maven安装 使用Maven安装之前需要先安装Maven.首先到Maven官网http://maven.apache.org/download.cgi下载Maven软件,这里下载的是bin版本,解压到/home/mahout/apache-maven-3.1.0,然后

Windows校验文件哈希的两种常用方式

大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像.而大家如何保证自己下载回来的映像或软件就是官方版本,而没有被别人篡改过呢? 很多朋友会想到将下载回来的资源校验 MD5 或 SHA1 与官方版哈希值进行对比,如果无误则表示未被篡改.大家平常在 Windows 中都使用何种工具算校验值呢?本文向大家推荐 Windows 校验文件哈希的两种常用方式.

深入Android中BroadcastReceiver的两种注册方式(静态和动态)详解_Android

今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来接收来自系统和应用中的广播.在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能:当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作:当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户

深入Android中BroadcastReceiver的两种注册方式(静态和动态)详解

今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来接收来自系统和应用中的广播.在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能:当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作:当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户

Oracle优化器的两种优化方式

Oracle的优化器有两种优化方式: 基于规则的优化方式:Rule-Based Optimization(RBO) 基于成本或者统计信息的优化方式(Cost-Based Optimization:CBO) RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则.比如我们常见的,当一个where子句中的一列有索引时去走索引. CBO方式:CBO是在ORACLE7 引入,但到ORACLE8i 中才成熟.ORACLE 已经声明在ORACLE9i之后的版本中,RBO将不再支持.它

javascript中createElement的两种创建方式

  本文实例讲述了javascript中createElement的两种创建方式.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 <html xmlns="http://www.w3.org/1999/xhtml"> &l