为什么工程师都需要需要一个白板

一家靠谱的软件公司的墙面上都有许多写字的白板,微软研究院的休息室里甚至能在茶几上写字。而 ThoughtWorks 新装修的办公室直接把白板作为墙面的装修材料,以至于在洗手间都能写字,当然一般人也不会真的去写。

在我曾经服务的一家公司里,因为把白板文化引入团队,获得了不少意外收获。

我们曾经设计过一个简单的任务调度系统,和现在的 Elastic Job 类似,可以将用户提交的任务放到不同的服务器中执行。看起来一个简单的业务,细节越讨论越多,以至于迟迟没有进展。我们陷入了一个怪圈,前一天的结论容易被忘掉,然后每天都在讨论重复的内容。

在一次起身倒水的时候,我注意到复印机旁的办公用品,才意识到这家公司竟然没有一块白板可以用来写字和画图。于是,联系了行政购买了一块白板,放到了我们每天去的会议室。有了白板的加成,讨论意外的顺利,以至于老板也开心的加入了我们。

这个项目顺利完成之余,老板竟专门为我设计了一个奖项 —— “最佳建议奖”。

01. 白板文化

后来去了其他公司,我留意到越是专业的软件公司,越会使用白板来进行讨论。尤其是到外企后,接触到海外公司越来越多,白板甚至是一种文化,越来越多的公司在办公室提供可以写字的墙面和容易擦写的马克笔。

和一些大牛交流,可能他随手从口袋中取出一支笔,然后就近写写画画。可能在这些人眼里,这是工程师之间交流最好的方式。

白板文化代表一种开放的精神,它意味着每一个人都可以表达自己的想法,而不是只有领导安排,然后员工执行。正是这种文化,形成了技术公司的一种独特风格。

这种文化的背后其实是一种原型思维,这些白板上的内容快速呈现、容易修改、不受限制。往往在讨论时,我们假定我们有多种解决方案,无论这些解决方案多么离谱和天马行空,我们不轻易说对和错,只选择合适和最优。这种 “把方案先放到桌子上再决定 ”的这种协作方式,往往能碰撞出意想不到的结论。

我第一次到 ThoughtWorks 面试时,我被这种文化震惊了。无处不在的白板,以及白板上的任务看板、业务模型充满了整个办公室。在面试的过程中,需要讲解一个项目案例,我和面试官随手用白板聊了起来。以至于后来在想,是不是我使用白板写写画画过于熟稔,才获得了这份工作。

我们的同事甚至把这种文化带入到家庭中。我的同事家里有一个小的白板墙面,用来安排孩子的每天的作息,家庭的采买计划,以及水电气的缴费提醒等等。

02. 白板的演变

我见过各种各样的白板,也许有适合你的。

办公活动白板。 这种就是最普通的白板,大概 100 - 200 元可以在办公用品店买到一个,有支架可以移动。通常不会很大,1 * 2.4m 往往就够用了。一般来说培训场合用的非常多,因为可以移动适合在临时会场使用。不过确定也比较明显,尺寸有限,有时候不好固定,尺寸越大越容易晃,无法多个白板拼接。

白板墙面。这种需要在装修时候设计并安装,往往能做到一个墙面整体都是白板。如果在办公室装修时就考虑到,这几乎是最好的白板方案,也是目前软件公司主流的装修风格。

白板贴。 白板贴是一种特殊的高分子材料,有背胶可以贴在合适的墙面。贴好后,可以和白板墙面媲美,不过相对柔软,书写效果不好,一般作为临时方案。

大屏虚拟白板。 这是一种带有触摸功能的大屏,开机后可以当做白板使用,当然价格也比较昂贵。它不仅可以作为白板使用,还具有投屏、多页面、通过邮件发送内容等功能。如果预算合适,这也是不错的选择。

在线协作白板。还有一种就是在线协作白板,通过浏览器的 websocket 技术建立实时连接,让分布在不同地方的团队一起讨论和协作。

03. 图例工具箱

工程师在使用白板时候可能会画一个方块和一个线条,说这是一个服务,然后被另一个服务调用。

白板的随意性可以发散思维,也带来一些不便,不同的人的白板含义不同,因此我们可以使用一些固定的图例来启发思维,和团队对齐后,可以更容易交流。

软件设计领域有一些专业的图形可以使用。

  • UML 常见图形,时序图、用例图、类图、部署图等
  • E-R 模型图
  • 交互原型图
  • 流程图

除此之外,用在商业分析上,也有一些思维模型可以使用。

  • 四象限模型
  • 金字塔模型
  • 思维导图
  • SWOT 分析
  • 电梯演讲
  • 鱼骨图
  • 5whys

这些思维模型可以用简单的方式表达繁复的内容,对于汇报、总结和分析问题都非常有帮助,也是在咨询工作中必不可少的工具。

04. 工作坊

使用白板还可以用来进行工作坊(workshop)。

工作坊一词最早出现在教育与心理学领域。工作坊的原意是制造业的车间,后来被引申为小组讨论或协同工作的过程。最早是一个叫普拉特的波士顿医生为了改善结核病人的心理状态,组织他们分享自己的故事而来。后来被欧美国家应用到心理学、医学的研究工作中,后来慢慢流传到大学、企业办公室。

在软件工程领域,工作坊这种形式非常适合需要群体协作、头脑风暴的场景。经过讨论和碰撞,在取得共识之后,往往能得到一些不错的成果。

DDD 建模中的事件风暴是一种典型的工作坊,使用工作坊来产出模型相比架构师闭门苦思有更多优点:

  1. 充分调动团队的积极性,让团队成员能参与到领域模型和架构的设计中来,获得更多输入。
  2. 团队就各种概念、业务背景达成了共识。往往,即使架构师设计出来的架构非常严密,落地的开发人员有可能因为对概念的误解无法领会设计意图。通过工作坊,可以就这些问题充分讨论。
  3. 思维碰撞。工作坊可以让 “逆向思维” 发挥作用,投资大师查理·芒格非常推崇 “逆向思维”,通过工作坊可以从不同的角度来验证方案的合理性。

除了 DDD 建模外,越来越多的培训也会使用工作坊的形式代替传统的授课方式。在培训中的工作坊,有点类似于目前流行的“翻转课堂”。除了讲师授课外,也会需要小组完成某项讨论任务和练习任务。

评论已关闭