你真的会开会吗?开会无用说

article/2025/8/25 13:29:01

有一句话说的很好:作为一名技术管理人,你有一项职责就是让你的小伙伴多写代码,少开会! 今天我们不聊技术,来探讨一个很多程序员日常工作中,经常碰到却会带来困扰的话题:开会。

头疼的开会

有一次,我听到两个程序员在聊天。一个资深程序员说:“还是晚上好,我可以一门心思写代码”,另一个年轻程序员不解地问:“你白天也可以写啊。”

资深程序员很无奈,“我倒是这样想,可是白天参加那么多会,哪有工夫啊!我的代码就只能加班写了。”

这段对话听上去让人有点心酸,但这种现象,确确实实广泛存在于程序员的日常工作中,尤其是你经验丰富又在一个大组织中工作,这几乎成了你的宿命。在这些程序员的认知中,开会太多影响了他们写代码。

你以为我想讨伐开会吗?并不是,开会本身并没有错,因为开会的本意是将大家组织起来解决问题。但请你回想一下,你参加的会议有多少解决了问题呢?

开会是为了解决问题,但真实情况却是开了会又没有解决多少问题,这真是一个奇特的矛盾。

回想一下,你参加过的会议里面,有没有效果特别好的呢?在我职业生涯中,凡是效果特别好的会议,基本上都是用来做信息同步的。 比如,领导宣布一个事情,这种会议几乎不会浪费时间。宣布消息,大家收到消息,结束。

那效果不好的会议是什么样呢?几乎都是那些讨论会,你一言我一语,每个会几乎无一例外,都有几个擅长打岔的,这个会基本上都会跑偏,时间就会这样一分一秒地流逝了。

我给你举个例子,我之前参加过一个上线计划的评审会,这个团队的负责人要把相关利益方都召集起来,其中包括上下游可能会受影响的团队、测试、运维等等,一个不大的会议室里挤满了人。

这个负责人刚开始讲方案没几分钟,下游团队的负责人就站出来问:“这个方案为什么要这么做?我担心会对我们系统造成影响。”讲方案的人只好停下来解释。结果是越解释,细节越多,双方你来我往,一个方案评审会,就转变成一个技术讨论会了。

测试和运维的同事本来是想来听技术方案,以便为后续的工作做准备的。看着双方的讨论, 一脸无奈,因为他们知道,方案没确定好,所有的事情还是下回再说吧!

图片

怎么样?是不是很熟悉的感觉。为什么会这样?因为他们选错了沟通方式。

开会是一种重量级的沟通,几乎是我们日常工作中最重的。它有很强的仪式感,所以,大家相对来说会很重视。而且会议通常会牵扯到很多人,尤其是与这个事情相关度不那么高的 人。

你可以想一下,有多少次开会,你是在精力集中的?如果你是高度集中的,那恭喜你,你是高效地参与其中。但更多时候,你可能神游天外,因为讨论的内容可能与你关系不大,或者你已经听不懂了,你坐在那里的唯一原因是,主持人还没宣布会议结束。

用开会这种重量级的方式讨论问题,就好比杀鸡用了牛刀,这是不恰当的。那该怎么解决这 个问题呢?很简单,杀鸡用鸡刀。

轻量级沟通

实际上,真正在会议上能够积极参与讨论的人并不会觉得会议是浪费时间,因为高度参与其中,人是进入到心流状态的,时间流逝很快。觉得浪费时间的,往往是没有参与其中的人。

换句话说,会议之所以给人留下如此不堪的印象,一个重要的原因是,真正参与讨论的人并不多。所以,我们换个角度思考一下,只要把这些真正参与讨论的人拉到一起讨论不就好 了?

所以,改善会议的第一个行动项是,减少参与讨论的人数。

有人会说,我这个讨论有好几个议题,每个议题要不同的人参与,那你要做的是,分别找这几个人专门讨论,而不是把大家放到一起。

不知道你发现没有,在讨论行动项的时候,我用的是“讨论”,而没有提到“会议”两个 字。我之前说过了,会议是一种重量级的沟通方式。所以,我们会倾向于选择一种轻量级的沟通方式,比如面对面沟通,这样一来,每个人的压力就会小很多。

相比于会议的形式,面对面沟通因为注意力有限,参与的人数不可能太多。也因为参与的人 数相对少一些,每个人的投入也会更多一些。

所以,我们的第二个行动项是,如果你要讨论,找人面对面沟通。

一旦理解了这些改进方式,我们就可以改进自己的行为方式。如果有一个问题需要讨论,我要做的是,分别找到相关人针对关心的主题进行讨论,然后,我把讨论的结果汇总再去征求大家意见。如果大家达成一致了,我才会选择开会。

这个时候,开会的目的不再是讨论,而是信息同步:我准备这么干了,相关各方已经同意了,知会大家一下,结束。

站立会议

我前面说过了,开会并非都是不好的,一些信息同步的会还是有必要的。

举个例子,有一种实践叫站会(Standup)。很多公司都在实践它,站会甚至成为每天的开工仪式。一般的做法是,早上大家来上班了,先开一个站会,让大家同步一下昨天的工作,然后开始今天的工作。

有的人一听到站会这个形式就会皱起眉头。如果是这样,多半是你的团队“站”错了。

你知道,这个会为什么是“站”会吗?因为按照一般人的习惯,站的时间不会太长,因为站的时间长,累啊!所以,如果站会超过10 分钟,你的站会一定是错的。

也许你会说,这点时间恐怕不够给我们站会吧?因为每个人都有一大堆要说的。请问,你觉得其他人说那么多,你关心吗?现实是,一旦一个人说多了,跟你关系又不大,你就开始思维发散了。

所以,在总长固定的情况下,每个人发言的时间一定是有限的。在有限的时间内,你能说什么呢?我建议你只说三件事:

  • 我昨天做了什么?
  • 我今天打算做什么?
  • 我在过程中遇到了什么问题,需要请求帮助。

“做了什么” ,是为了与其他人同步进展,看事情是否在计划上。一旦偏离计划,请主动把它提出,这样,项目经理可以过问,因为这会涉及到是否要调整项目计划;

“要做什么” ,是同步你接下来的工作安排。如果涉及到与其他人协作,也就是告诉大家,让他们有个配合的心理准备;

“问题和求助”, 就是与其他人的协作,表示:我遇到不懂的问题,你们有信息的话,可以给我提供一下。

这三件事都是与别人相关的,几句话快速说完,结束。因为这些事情与别人相关,所以,大家的注意力可以相对集中一些。

你或许会问,如果我的问题很复杂,需要讨论该怎么办。对不起,那是另外一件事,你可以在站会结束之后,找相关人去讨论,不要在这个会上浪费大家时间。在站会上,你只要在问题和求助中告诉大家,你有一个问题,需要相关人讨论,结束。

为了让大家保持注意力集中,我的一些团队还用过发言令牌的方式。比如,找一个毛绒玩具,谁拿到“令牌”谁发言,然后,随机地扔给一个人,一旦这个人走神,大家一下子就能发现了。

一些有趣的方式、短暂的时间,以及与所有人相关的事情,因为满足了这三点,所以普遍来说,这种站会效果还可以。

关于站会,有一个典型的错误是,有些团队把站会开成了汇报会。项目负责人指定一个个轮流发言,说的人都向负责人在汇报工作,其他人自然就容易走神了,因为事情与己无关。

图片

还有一点你可能会有疑问,我所在的团队比较大,一个人几句话时间也会很长。

当团队很大时,更应该做的是把团队拆分了,因为你不太可能与 20 个人紧密地工作在一起。沃顿商学院曾经做过一项研究,5-12 个人是一个恰当的团队规模,每个人在其中都能发挥自己的重要作用。

总结时刻

开会是很多程序员的困扰,太多的会议甚至会影响到你工作的进展。开会的本意是为了解决问题,但实际上,大多数会议并不能很好地解决问题。因为会议是一种重量级的沟通方式, 很多人参加会议时,并不能很好地参与其中。

如果你想用会议的形式与别人讨论问题,最好放弃这种打算,面对面的沟通是最好的方式。因为面对面沟通很轻,人数相对少,每个人参与度就会高很多。基于这种改进,我们可以把大部分会议都改成信息同步的会,效率就会得到提高。

我还给你介绍了一种特殊的会议:站会。之所以采用站会的方式,就是要控制时间。在站会上每个人说什么,我给了你一个建议的格式:

如果你经常组织别人开会,请你想一下,是不是自己没有利用好开会这件事;如果你经常被 别人组织开会,不妨把这篇文章转发给他,让他别总是开会“讨论”问题。

如果今天的内容你只能记住一件事,那请记住:多面对面沟通,少开会。


http://chatgpt.dhexx.cn/article/ami9IOrP.shtml

相关文章

python 导入自定义包

路径设置 对于以下的自定义包的导入,首先需要加入该包的位置到python的环境变量里面。通过sys: import sys sys.path.append(D:\Codes\Pycharm\core-algorithm-master)from algorithms.ch02sort.base.template import SortTemplate

python的包内绝对导入,相对导入以及环境变量路径问题

学python的过程中遇到的模块导入问题造成了我很长时间的困顿,最近再重温一下模块的导入和包内模块导入,发现了一些新东西,所谓温故知新,确实如此,特来记录。 1. 模块的导入和环境变量 首先要清楚一点的是&#xff0c…

Python import无法导入包问题

一个文件夹下的同一级的文件,import 时却无法导入,怪哉?! This inspection detects names that should resolve but dont. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Top-level and class-level items are suppor…

python中包的导入

包的导入 包的概念包的使用问题 包结构与__init__.py文件 from XXX import * 绝对导入与相对导入 包内部的相互导入/python解释器眼中的顶级包 —:包的概念 可以简单的理解为包就是一个包含着__init__.py文件的文件夹,里面包含着多个文件&#xff0…

python导入栈包

项目场景: 最近刚刚学完了python以及爬虫,数据可视化等几个专题的练习,接受老师建议开始学习python结构数据预算,结果第一章一个栈就差点把我送走。 问题描述: 利用栈实现进制转换出现报错。 from pythonds.basic.s…

python导入Wordcloud包

这个问题弄了我两天时间,找了好多帖子,都没导入成功,还是大佬帮忙,一下子就解决了,归根结底是我太菜了,含泪记下之前的错误方式及步骤,便于以后查找 一、settings直接导入 pycharm中settings小…

关于Python包导入报错的总结

首先,一般来说,写一个小demo可能一个文件就够了,但是要是做一个小项目,可能需要拆分成很多零散的文件,放在不同的文件夹里面调用,这个就称之为模块(包),Python的导包是一件令人头疼的事情,当文件多了之后,同样的导入方式可能在不同的场合遇到解释器抛出异常 错误记录: 1. Mod…

python导入自定义包时无法导入自己定义的包

python导入自定义包时 显示找不到包,如下图 处理方法如下: 点击文件夹选择工作目录 点击后就可以正常导包啦

python 导入自定义的包

有时候我们需要在程序中导入额外的python包,这个时候就需要用到这里的知识.这里介绍两种导包方式. 一. 手动导包 其工作的原理就是将搜索路径加入python的sys.path 数组中. python工作的时候会自动搜索sys.path 中所有的目录,那么我们 可以自定义一个目录,然后在目录中建立一…

VSCode python 导入包之后显示下划黄线

在 VSCode 中编写 python 脚本,在 import 包的时候显示下划黄线,如下所示: 通过 pip show 命令查询可知 serial 和 tqdm 已经成功安装,路经如下所示: 则在设置里面搜索 python.analysis.extraPaths,手动输…

python导入包如果找不到

说明系统中可能没有前缀,可以在sys.path中加入各类查找路径,这样编译的时候会进行这些前缀的检索,如果是当前目录的,则不用加,直接Import那个包即可。

python如何导入包

包(模块)的命名规范: 为什么需要遵循命名规范?如果包的命名不遵循命名规范 ,那么在导入包时即使方法是正确的,也无法有效的导入该包 1.命名有字母、数字和下划线三个组成 2.项目名、包名、模块名、pytho…

【查看Python导入包的地址】

查看Python中import的包的绝对地址: 【效果】: 【代码】: #将package_name换成需要查找的包 import package_name print(package_name.__file__)

python怎么导入包-python如何导入包

本文主要讲解python导入包的几种方法 一、模块的导入方式 模块就是.py类型的Python文件 导入时不需要.py后缀,直接导入文件名即可 利用import直接导入: 语法:import module_name 使用方式:module_name.class_name或者module.func_name 利用import导入模块并设置一个…

Python导包的几种方法,自定义包的生成以及导入详解

Python是一门灵活的语言,也可以说Python是一门胶水语言,顾名思义,就是其可以导入各类的包,python的包可以说是所有语言中最多的。当然导入包大部分是为了更快捷,更方便,效率更高。对于刚入门的python爱好者来说最初接触的应该是import直接导入包的方式,例如 import time…

Python开发之Python导包的几种方法,自定义包的生成以及导入详解

Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。 下面介绍python的几种…

Openstack云平台脚本部署之Ceph存储集群配置(十四)

目录 一、简介 二、部署脚本 三、参考文档 四、源码 五、系列文章 一、简介 Openstack的后端存储对接Ceph分布式统一存储,将Glance镜像、Nova虚拟机及快照、Cinder-Volume的存储在Ceph统一存储上。Ceph在Openstack社区的带动下发展迅速,已经成为最受…

ceph分布式存储搭建

目录 一、环境搭建 1.基础环境 2.centos1安装软件 3.创建集群 4.修改配置文件 5.安装软件 二、构建集群 1.初始化monitor 2.同步管理信息 3.安装mgr 4.安装rgw 5.创建mds服务 三、安装OSD 1.centos1、centos2、centos3、三个虚拟机各加一个磁盘 2.热刷新磁盘并格…

Ceph存储搭建及在k8s中的使用

一、基础环境准备 主机IP主机名部署服务备注192.168.0.91admin-nodeceph、ceph-deploy、monmon节点又称为master节点192.168.0.92ceph01cephosd192.168.0.93ceph02cephosd Ceph版本 10.2.11 Ceph-deploy版本 7.6.1810 内核版本 3.10.0-957.el7.x86_64 每个节点关闭防火墙和s…

ceph存储应用--owncloud

目录 框架​ 节点规划 部署环境准备 ceph集群部署 在master1上创建集群 创建mon监控组件 监控节点master1初始化 创建mgr管理组件 创建osd磁盘 添加其他节点到ceph集群中 对象存储搭建 创建对象存储网关 创建owncloud应用 ceph对象存储对接owncloud 安装s3工具 框…