开发者社区> 超努力的写代码> 正文

架构师眼中的文化:组织不扁平,3天后信息衰减到20%(3)

简介: 架构师眼中的文化:组织不扁平,3天后信息衰减到20%(3)
+关注继续查看

民主的团队如何做决策


前面谈到,民主的团队在决策的时候是痛苦的,即很难统一所有人的意见。如果让该领域的专家决定,那么他的思路有可能不够开阔,没有高度;如果让管理者决定,那么他又可能缺乏该领域的专业知识;如果让所有人投票决定,那么效率又太低。


实际上,我认为一种好的决策机制应该是这样进行的。


(1)由领域专家做一些简单的前期调研,收集材料,初步计划。


(2)通过邮件发给决策团队,决策团队成员不应该人数太多。


(3)开会讨论,大家各自发表意见。


(4)进行投票,少数服从多数,可以先投出前两名,然后各自发表意见,再针对前两名投票决策。


这是一种非常公平的做法,每个人的意见都得到了充分讨论,如果不能按照自己的意见执行,也应该心服口服。关于这个问题,《原则》一书给了我们很好的启示。


可信度加权决策法:充分考虑到每个人的专业背景,然后对不同专长的人提出的意见赋予不同的权重,最后加权计算进行决策。也就是在针对一个重大决策征询意见时,该领域的专业人士的意见权重就会更大,非专业人士的意见权重更小,比如讨论的是一个医疗问题,有医疗背景的人提出的意见所占的权重就应该更高。


相对于一个人做决策,这种流程还是比较复杂的,需要开会、投票,只有涉及重大问题才有必要采用,否则效率会很低。


环境氛围



公开透明的工作环境


如果你撒了谎,就要不断提醒自己曾经和谁撒过谎,这会消耗你相当大的一部分精力,而真实、透明可以让你轻松很多。在企业中也一样,越是公开透明,效率就会越高,就越能得到理解,满意度就会越高。不要告诉员工,管理者都是天才,是不会犯错的。实际上,公开透明的工作环境是彼此信任的基础。


每个人每天的工作、会议,包括领导的,公开透明地展示给其他人,当然这不需要通过写工作日志来展示,可以利用工具。如果你是一个技术经理,可以在Outlook中共享每天的会议日程;如果你想约见领导,绝对不需要跟领导的秘书沟通,也不用问领导什么时间有空,而是到Outlook上查一下领导什么时间有空,如果会议时间和某个人有冲突,完全可以拒绝或者建议修改会议时间。


当然,为了提升工作效率的一切行为都是值得提倡的,工作中,我们常常会被乱七八糟的事情打断,因此,我建议每个员工都应该有不打卡的权利,有不在工位工作的权利。例如,当某个项目紧张的时候,马上面临交付时间点,开发人员为了不被其他人打扰,选择在家办公是应该被鼓励的,你认为这么紧张的时刻他会钻空子吗?当生产环境出了问题需要解决的时候,你认为解决问题的人会去浪费时间吗?如果真的有,那这个人就不应该存在于这个团体里。


学习型组织


如果仔细研究企业的生命周期,不难发现,一个企业是很难长时间生存的,“百年老店”屈指可数,无论你现在看到的企业有多么强大,它最终都会退出历史舞台,并且这个时间不会太长。如何才能不断地刺激团队,让团队焕发活力呢?那就需要建立学习型组织,使团队不断改进,获得持续的竞争优势。


并不是只有看书才叫学习,学习充斥在各个角落,例如,Code Review就是一个相互学习的过程。通过如下方式可以建立一个学习型组织。


· 让团队拥有共同的愿景、目标。NBA最经典的一句话是“永远不要低估一颗总冠军的心。”当一个团队有了共同的愿景之后,成员就会忘记自己的角色,只要是对团队有利的就去执行。


· 让团队持续学习。学习不是一次性的,是一个持续的过程。当害怕自己说的话可能是错误的时候,就应该去学习了。


· 团队成员平等、自由。只有拥有平等的氛围,才能换位思考,不以过去成功的经验轻易否定一些创新性的想法。


· 团队成员自我驱动、自我管理。不依靠严格的制度管理团队,团队成员具备自我管理的意识。


· 团队积极、有凝聚力。团队成员积极乐观,具有主动性,不推卸责任,团队气氛融洽。

— 团队内部,应该通过不断交换意见获得成长,寻找机会刺激团队成员去思考、分享。

— 团队外部,应该通过一些外部会议、论文、书籍等来开阔团队成员的眼界。


减少正式的汇报


试想,如果你在一个大公司,让你实现一个邮件服务,你可能会去学习现有的邮件系统,分析竞争对手,引进竞争对手的人,借鉴竞争对手的架构,使用一堆架构模式、方法论、框架,分析我们如果完成一个这样的系统会在哪些方面超越竞争对手,这是一个大公司的正常逻辑。等我们忙活了半年真正实现了,结果用户可能不会买账,因为没有任何新意,但是我们每次都汇报得不亦乐乎。这就是一个大公司花高额的年薪聘请了高学历的人才做着平庸的产品的生命历程。大家只关心KPI,而KPI是由你的主管决定的,如果按照这个套路至少不会“犯错”,因为所有人都“错”不起,结果顶尖人才不是在汇报就是在写PPT。


与此形成鲜明对比的是,那些伟大公司的领袖都有减少汇报的要求。乔布斯不允许使用PPT汇报,不仅仅是因为做PPT浪费时间,还因为乔布斯希望他的团队能够进行激烈的争辩和批判式思考,而不要依赖PPT。据说比尔·盖茨也不会让下属去给他汇报,他会走到下属的工位,随便聊几句,用一个便利贴记住谈话的结论。这种随机聊天反倒会得到最有效的、没有经过修饰的信息。


有人会问,领导怎么了解进度啊?怎么识别风险啊?怎么判断谁干得好,谁干得不好啊?出了问题该由谁来负责啊?我认为,公司内部的项目管理工具上应该能直观地看到进度,这是动态的,绝对比汇报的内容要更真实、更快捷。软件做得好不好应该由用户去评价,一方面通过用户的反馈意见,另一方面通过自己收集到的数据综合判断,而不是通过几页PPT去了解。至于谁干得好,谁干得不好,应该由和他朝夕相处的人去判断。另外,团队成功才是真正的成功,如果害怕大锅饭导致效率低,完全可以换一个更好的搭档。

高效的会议


开会的目的和意义是什么?晨会、周例会、月例会、计划会议、总结会议、行政管理会议等各种会议,作为会议的主持者或者团队领袖,在会议中应该扮演什么样的角色?

会议的效率低下,主要可以总结为如下几个原因。


· 参会人数太多。如果一共20人参会,平均每人花费6分钟,那么两个小时就过去了。

· 不明白为什么要开会。实际上好多会议的目的并不明确,导致参会的人思维特别发散,会后没有任何成果。


· 会议没有主持人或者引导者,思维太发散。


· 会议中存在分歧,短时间内很难达成共识。


· 会议中的不平等,会议中有的人不敢说话或者插不上话。


会议最主要的目的是达成共识。少数人服从多数人,说服决策者。


缩小会议范围。除了培训之外,如果参会的人只是听,而不发言,那么此人不应该参会。不发言意味着他对会议议程和结果不会产生影响,同时他有很多其他途径可以获得会议内容及结论。要么带着问题参会,要么带着信息和观点参会。如果你让他参会就应该给他发表意见的机会,而不是让会议变成“一言堂”,或者是几个思维敏捷者的会议。在这种情况下,会议主持者应该学会自己聆听,分析所有人的意见。一个高效的会议,聪明的会议主持者是必不可少的。他可以让所有参会的人都发挥出最大价值,而不是所有人的观点都偏向某位领导或者意见领袖。此时,整个会议的价值大大降低,只剩下少数人的价值得以发挥。


常规会议不应该超过45分钟。怎么做到呢?答案就是会前要准备充分。据说在Amazon会议前10分钟是用来看文档的,让每个参会的人都了解今天的会议内容,当然这10分钟也可以放到会议之外,看完文档直接讨论,这样一般会议时间可以控制在半小时以内。另外,如果存在巨大的分歧,无法形成妥协,最好暂时停止会议,经过一段时间的思考,重新决策,而不是一直在会议中争论。


限制“意见领袖”的发言时长。会议主持者要控制“意见领袖”的单次发言时长、发言的频率,以平衡所有参会者的发言时间。关于这一点,可以参考法庭,无论是原告还是被告,都认为自己是正确的,需要轮流发言,如果不加以限制,就会乱成一锅粥。如果存在一个经验丰富的会议主持者,可以不断总结、概括,将会使会议的效率大幅提升。尝试让不爱发言的人先发言,这样有利于不爱发言的人提早进入角色。


提供平等的会议氛围。统计表明,机长驾驶飞机出事故的概率高于副机长驾驶飞机出事故的概率,因为机长驾驶的时候,就算副机长发现有什么不对,一般也不敢指出。而副机长驾驶飞机时,机长在旁边监督,一旦发现问题,机长是没什么顾虑的,可以直言不讳。机长就像是领导,往往会议中机长说了太多的话,出问题的概率更高,因此领导更应该学会聆听。


会议中不允许开小差。开会时,如果一会儿接电话,一会儿发邮件,每个人带笔记本电脑不停地打字,或者在底下不停地摆弄手机,那么这个会议将变得非常低效。这时候会议主持者就需要起作用了,时不时地发问,让每个人进入思考模式。总之,开会时所有人都应该聚精会神。


会议中的分歧不应该延伸到会议之外。讨论过程中可以自由发挥,分别阐述自己的思路,会后要保持一致,不应该因为会议中自己的观点没有得到支持而怀恨在心,应该从别人的角度尝试考虑一下。


以上会议规则应该贴在会议室中,时不时地提醒开会的人遵守,甚至要通过预定会议室的时间来限制会议时长。我从未见过超过一个小时的会议还能让所有参会者保持很高的专注度的。总之,会议室是一个企业文化的体现,企业文化的形成需要企业领袖不断地推进、示范。


关于如何高效率开会,可以参考《罗伯特议事规则》,这本书是美国国会开会的规则,应用十分广泛。


量化指标致死


量化指标是指能用具体数据来体现的指标,以数据反映人类各种活动。常见的量化指标如KPI、某个产品的性能等。我并不反对量化指标,但是反对量化指标的考核方式,反对不成熟的量化指标,反对一厢情愿的量化指标。


海底捞的掌门人张勇用自己的经历说明他的KPI量化指标是怎么被打败的,值得深思。海底捞的服务好不好?有很多吃饭的人都是冲着它的服务来的。但是以前海底捞的KPI是量化的,例如杯子里必须要有水,那海底捞就设定了一个指标,客人杯子里的水必须达到一半。后来发现,有的客人吃完饭要走了,说:“我不喝了”,服务员说:“不行,我得给你满上”。更好笑的是手机套,客人表示不需要,服务员就趁你不注意的时候给你的手机套上,我在海底捞亲眼见过类似情景。


这就是量化指标,也可以说是硬性指标。并不是说量化指标不好,而是说以量化指标来考核,特别容易导致考核畸形,会让被考核的人忘了指标原本的目的。当然这些指标是可以有的,可以用来做报表、做统计、做参考。软硬结合也是不错的,不过千万不要高估自己对指标的理解能力。


话说我曾经工作过的一家公司以前是不打卡的,非常自由,这个公司在业内的口碑还不错,实际上大多数人并不会因为不打卡就觉得工作少,打卡与工作量根本没有关系,这个谁都知道。有一天老板上午11点到公司发现好多员工刚刚进门,一怒之下,要求员工不但打卡,而且加薪的时候日平均打卡时间必须满9个小时。我觉得这样的结果是老板比较安心了,看着指标开心了,而公司的口碑下降了,招人难了,还会有很多员工比较难受,琢磨怎么应付。


再说KPI量化的问题。实际上,量化对小团队的管理者是有帮助的,年底绩效考核的时候会有依据,比较容易区分。但是还是有问题,例如,你平均写的代码行数、发布次数、故障率、可用性等,工程师们一定知道怎么绕过。员工多了,真的不好管理,特别是基于不信任的前提下的管理。


对于程序员这个人群,柔性管理往往起到的效果更好。


举个例子,很多刚入职的女程序员认为她们被歧视了,不好找工作,我并不这么认为。如果面试官是我,我会适当降低标准把女程序员招进来,因为我让她来不完全是写代码的,所谓男女搭配,干活不累。有的时候比你给下属打个A起到的效果都好。张勇也举过这类例子,他的一个非常优秀的员工离职了,原因是前台那个女员工明确告诉他不喜欢他。


本文节选自《持续演进的Cloud Native:云原生架构下微服务最佳实践》一书,王启军 著。电子工业出版社出版。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19577 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
16959 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
11691 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
34524 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
17889 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24726 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
13373 0
1946
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载