You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
11 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 13 | 白天开会,加班写代码的节奏怎么破?
你好,我是宝玉,我今天想与你讨论让很多程序员头疼的话题:开会。
说到开会,是很多人心中的痛,每天白天忙于参加各种会议,压缩了本来就少的可怜的工作时间。最可气的,有的人开完会工作就算完成了,而像我们写程序的,还得下班后加班加点赶进度!
所以一说到开会,程序员们往往如遇洪水猛兽一般,避之不及。
## 开会是有价值的
但我想说的第一个问题是:**开会是有价值的。**软件项目中有不少会议,其实有其价值所在,给你简单举例分析一下。
像评审会议,通过会议,可以让产品设计或架构设计在确定前,收集大家的意见,及时发现问题。
像每日站立会议,可以及时了解项目的进展,了解当前的困难和瓶颈,及时调整计划,解决问题。另外在会议上,每个人都要当众讲一下做过的事情和计划要做的事情,这也是一种无形的监督和约束。
像项目立项会议,可以创建一种仪式感,让每个人都知道项目的关键信息:
* **项目目标:**这个项目是要干什么的,达到一个什么目标;
* **项目里程碑:**项目的开始结束时间,项目的阶段划分,以及各个阶段的时间点;
* **角色分工:**项目成员的分工和角色是什么,每个人知道自己的任务是什么,知道遇到问题该找谁;
* **流程规范:**项目开发的主要流程是什么,基于瀑布还是敏捷。
像项目总结会议,团队成员可以一起总结一下项目的得失,把经验总结下来,帮助团队在下一次做的更好。
还有很多会议我就不一一列举。从上面可以看出,这些会议都是可以创造价值的。
## 开会是有成本的
开会的成本,就像房间里的大象,显而易见而很多人却有意无意无视它的存在。
我们做个简单的数学计算假设一个程序员月薪一万元如果他每天四分之一的时间在开会那就相当于公司每月花了2500元在会议上。
这还只是一个人的成本,如果开会的人多,那么仔细算算,整体的会议成本其实很夸张的。所以我想说的第二个问题就是:**开会其实是有成本的,而且还不低。**
## 什么样的会议是有效率的?
其实软件项目中有些会议我是愿意参加的,因为是有价值的,高效的。比如说前面提到的每日站立会议,时间不长,但是收获很大。
再比如隔壁郑晔老师的《10x程序员工作法》专栏中提到的“[轻量级沟通](http://time.geekbang.org/column/article/82844)”,其中建议的会议方式:人少,面对面沟通。这种小会通常也让我觉得很高效,经常能产生有价值的方案。
还有一些会议则让我觉得没什么价值,比如领导冗长的讲话,比如一堆人在偏离会议主题的讨论,比如跟我没什么关系却被迫参加的会议。
那么为什么这些会议给我的感觉完全不一样?这其实就是我想讲的第三个问题:会议是不是有效率,取决于它创造的价值是不是高于其成本。
我觉得像每日站立会这样的会议更有效率,其时间短、人数少,所以成本低,创造的价值高于其成本。而人数多,又偏离会议主题的讨论会则没有价值,这是因为人数多时间长,导致会议成本高,而其创造的价值远远不及成本。
那为什么还有那么多低效率的会议?**因为有的会议,就不是为了创造价值。**
比如说有的会议,花的成本不是组织者的,对他来说,得到他的会议价值就可以了。
> 你是砍柴的,他是放羊的,你和他聊了一天,他的羊吃饱了,你的柴呢?
还有很多会议,是因为组织者和参与者,都没有意识到开会其实是有成本的,所以浪费了成本还不自知。不过这种情况还好,还是可以想办法改进的。
接下来,我们来看看如何提高开会效率,破除避免白天开会,晚上还要加班写代码的节奏。
## 如何提高开会效率?
我们专栏有一篇文章《[08 | 怎样平衡软件质量与时间成本范围的关系?](http://time.geekbang.org/column/article/85302)》,很多同学看过里面讲的软件项目金三角理论后,直呼“醍醐灌顶”、“终于找到一套可以说服老板的说辞了”、“能够提高与产品经理打太极的水准”。
其实提高开会效率、提升开会价值的方法,就跟软件项目金三角的理论一样,只要从两个角度去想办法:**减少开会的成本,增加开会创造的价值!**
在具体探讨这两类方法之前,我们先要认识到一个前提:**那就是要让大家意识到开会是有成本的,如果开会创造的价值不能大于其成本,就是浪费。**
就像金三角理论,你得先让老板、项目经理明白三条边不可能都占,才好去沟通讨论。要提高开会效率,也需要大家先有这个意识,才能在具体措施上达成一致。
那么,有哪些方法可以减少开会的成本呢?
**1.砍掉一些没价值的会议**
在日常工作中,还有很多会议其实并没有什么价值的。如果一个会议符合这些标准,你就要慎重考虑参加了:
* 没有目标的会议。大家都在随意发散,完全没有主题;
* 不能形成决策,没有会后行动。如果一场会议看完后都没有什么结果,那跟没开都没啥差别;
* 你属于可有可无的角色。如果一个会议,跟你其实没什么关系,你无法提供有效的反馈,对你也没什么价值,只不过是被人拉过去开会的,那不如把这个时间用来做一点对项目更有价值的事。
所以,你可以在每次要接受一个会议邀请之前,先问自己两个问题再做决定:这个会议我真的有必要参加吗?以及,有其他方式可以替代吗?
其实,很多问题并不是非要通过“会议”的方式解决。
以前我负责的一个服务其他组需要调用所以有一个组的同事想跟我组织一个会议让我介绍一下服务以及如何调用。我思考了一下觉得准备这个会议我也要写一个PPT开会还得要时间这时间我足够写一个详细的说明文档出来了而且以后其他组再要用也只要看文档就可以了。
于是我就跟他们说:“我们不用开会,我一会发一个文档链接给你们,如果有问题我们可以在聊天工具上沟通。”后来他们看完文档后,有几处不清楚的地方,在咨询过我以后,我将文档更新好,就没什么问题了,而且后面再不需要为这件事开会了。
**2.减少参与会议的人**
**会议的成本和两个因素相关:一个是人数,一个是时间。如果减少人数,就能减少成本。**
减少人数好处还在于,人一少,每个人都会更投入,也更有效率,所以往往时间反而会少产出会高。而且,如果会议上要形成一些决议,人越多越难做决策,人越少越容易达成一致。要想有决议的话,先开几个小会,达成一致后再开大会,大会更多只是宣布一个结果。
像谷歌和Facebook他们对于会议的态度就是能不开就不开无关的人不参与。Amazon 的规则也很简单:一场会议的人数,最多订两份披萨,如果超出这个规模,说明这个会议的人数太多了。
**3.缩短开会时间**
减少开会成本的另一个方法就是缩短开会时间。缩短开会时间有很多成熟可靠的方案可以选择。
比如说站立会议,通过站立的方式逼着大家快点结束。
另外,麦肯锡开会上有些做法也值得借鉴:
* 每个成员有一张黄牌,用于喊停其他人会议中发散讨论无意义的话题;
* 有人控制节奏,大家快速发言;
* PPT不超过3张鼓励大家预先准备多讨论。
还有比如我们在前面敏捷开发介绍的例子,会议有人主持,当话题开始发散的时候,果断制止,放到“停车场问题”环节,也就是会议的最后专门讨论。
类似这样的缩短开会时间的办法,确实可以有效减少会议成本,这类提升效率的方法还有很多,你可以从这个角度多思考尝试一下。
**4.提升会议所创造的价值**
如果能有效提升会议产出,也一样可以达到很好的效果。
比如说,每个会议要有明确的目的和主题,所有的讨论都要围绕会议目的展开。当你发现会议上一些问题的讨论偏离了会议的主题,例如一个需求评审会,结果架构师在讨论技术细节,这就完全偏离了主题。
你就应该站出来提醒一句:“现在既然是讨论需求,不如先不讨论技术上的问题,等到需求确定了,我们后面再慢慢讨论技术问题。”或者说:“不如这个问题我们另外组织一个会议讨论。”
还有开会后,要有明确的结论,有后续的待办事项,落实到个人,对待办事项有跟踪。
偷偷说一下,有时候一些没什么价值的会议,又必须要参加,我一般会参会前,用一个本子把一个技术难题、或者一篇博客主题,写下来。
开会的时候,把这个难题理清楚思路,把博客的提纲写出来,这样一个会议开完,我的问题也解决了,或者文章提纲也有了。同样也是收获满满,没有浪费太多时间。
这些都是提升会议价值的方式,相信你对会议成本有了概念以后,也可以找到很多可以帮助你提高开会效率、更好创造会议价值的方法。
## 总结
今天带你一起学习了解了开会的“道”,那就是开会是有价值的,开会是有成本,会议是不是高效,就看它创造的价值是不是高于其成本。
如果你想破除白天开会,加班写代码的节奏,就需要从缩减开会成本和提升开会价值的方向上去想办法,还需要让你的老板、项目经理都有“会议是有很高成本”的意识。
砍掉一些没价值的会议,减少开会的人数,缩短会议的时间,提高会议创造的价值。
## 课后思考
你在项目中,有哪些会议其实是可以不参加的?哪些会议是可以缩减人数的?哪些会议是可以缩短时间的?哪些会议是可以更好的提升价值的?或者你对上面的观点有哪些补充?欢迎在留言区与我分享讨论。
感谢阅读,如果你觉得这篇文章对你有一些启发,也欢迎把它分享给你的朋友。