很多人认为敏捷团队应该在一个“公共房间”内一起工作,但实际情况并不是这么简单。经典 XP 团队房间的布局称为“caves and commons”,而且明确推荐人们都要拥有自己的私人空间,而这恐怕已经被我们遗忘了。敏捷团队中的人们发现,过去传统的工作空间也是有其可取之处的。当人们彼此坐在一起,不受外界干扰并以敏捷的方式工作,就更有必要强调人们对健康、有效的工作空间的需求。为了说明这一点,本文与各位读者分享多位敏捷教练收集和整理的智慧与经验,这些智慧来自他们以往与众多团队共同工作时的丰富经历。
与会议有关的问题
制订会议邀请、查看电子邮件、寻找会议室、以及等待姗姗来迟的最后一名与会者等等,诸如此类活动会占用传统软件团队许多时间;随着时间推移,他们也就逐渐习惯了这样的方式。在大型组织中进行团队作业,这些麻烦无可避免。然而,当团队开始向完全敏捷的征途进发时,这些小麻烦却会上升为主要的问题。
你不希望为了完成建模的工作而必须等待可用的会议室;你不想总是担心有人会擦掉你白板上的内容,或是扔掉你的索引卡片。我曾经在这样一些公司工作过,他们的工作空间严重匮乏,我们必须要等好几天才能得到一个可用的会议室。项目进程也因此而被中断。
—— Scott Ambler[1]
作战室、团队房间、备用区域
针对前述问题,经典的解决方案是联合驻扎(co-location),这也是支持和鼓励敏捷的关键策略。通过联合驻扎的方式,敏捷团队成员在同一个视觉与听觉空间中工作,团队内部就彼此的问题或工作能够产生快速的反馈,从而形成“渗透式沟通”。
团队在一个与过往完全不同的、全新类型的空间中工作,这样的想法常常会对组织产生冲击。有些团队很难说服管理层将小隔间换成大桌子和白板;而另外一些团队遭受挫折的原因却不尽相同:他们那个热心的(或是有心计的)经理不只挪去了小隔间,而且移走了其他的设施,而有些设施长期以来在提升团队士气和能力方面起到了重要作用。这可能是由于管理层没有认识到这样做会造成的损失,属于无心之过;但也有可能是经理们有意牺牲团队需要,从而能在拥挤的办公室中回收一些开放的空间。
三思而后行
在改变现有空间之前,先进行四处观察是非常重要的。由于对周围的环境过于熟悉,我们可能都不会注意身边到底发生了什么。因此有必要用心观察一些事情的运转方式:当人们不在座位上时,他们去了哪里?人不在不代表一定是去开会了。有可能是出去办事,或是散步,或是与其他部门交换意见;当他们再次出现时,手中可能拿着饮料,亦或是马克笔,打印资料,或者其他一些新东西。如果在一个地点的工作时间会跨越季节的更替,一年四季之中,团队成员可能会随身带着他们的大衣、健身包、伞,或是摩托车头盔一起来上班。
确定每个人到底需要多少空间,这既包括在他们自己的电脑旁,也包括对团队空间的要求。举例来讲,一个人的工作空间可能不应该少于 25 平方英尺。特别是当两个人在一台电脑前进行结对编程时,这样的考虑尤为重要。虽然结对编程会使得人有“节省空间”的想法,但是人们确实需要各自的私人空间,如果不能提供,团队成员会因彼此距离过近而备受困扰。通常来说,协作团队空间所应容纳的人员数目,不应超过将此空间作为会议室使用时所能容纳人数的二分之一。
当团队准备以协作方式工作时,要考虑各成员在自己的个人空间中需要进行的活动;人们需要处理敏感的、或私人的电话和电子邮件。像活动挂图、白板、公告板和项目进展情况屏幕,要保证对这些新的协作工具的访问可以畅通无阻,并且简单易用。当一个单独的空间中容纳了很多人和电脑时,保持空气的流通比其他任何时候都重要。
以情待之,以食辅之
在一开始,就要指定一个人随时盯着那些最细微、琐碎的问题,并且随时准备跟进,这一点很重要。看起来虽然很简单,但是当团队全神贯注于学习新的实践,并采取此前从未经历过的方式工作时,他们会忽视细节问题,并没有认识到这些问题实际上会构成他们将来路途上的困难。
这些经常性的问题解决起来可能是非常简单的。比如程序员使用的键盘高度不适,有可能导致背部疼痛或肌腱发炎,解决这个问题,只要配置一个可推拉并且位于桌面之下的键盘槽就行了。窗户玻璃在显示屏上造成的反光,会使团队成员感到眼睛疲劳,只要把电脑位置换一下,或者在窗户玻璃或显示屏上放置滤光屏即可。刚开始的时候,人们会牺牲自己的午饭时间来打一些重要的个人电话。而随着团队的不断进展,大家都以同一种有规律的节奏工作,工作空间开始让人感觉狭小和不安。
自组织的团队需要工作空间为他们提供食品和饮料,这是表示庆祝、或在关键时间促进彼此之间协作的一种方式。随着时间的推移,提供的食品也由一开始的糖果演变成了水果和其他健康小食品。如果放置食品和饮料的空间非常促狭,就会影响到团队合作进程和团队的建设。这时只需要提供一个单独的桌子,便可以起到鼓励团队创造力、提升团队士气的作用。
移除障碍,是团队教练、ScrumMaster 或项目经理的一个关键职能。在排定团队障碍列表优先级时,与团队工作空间相关联的障碍应该放在靠近最前面的位置,并且尽快尽早解决。要量化不合适的工作条件对绩效的影响很难,不过我们总是可以注意到,一旦这些障碍解决掉之后,团队合作水平的提升,以及因此而带来的工作效率的提升,其成效是非常可观的。
构建人性化空间的要素
在经过专业设计的工作空间中工作过多年之后,当团队开始自己设计空间时,他们有时会犯“连孩子带脏水一起泼掉”的错误。光、空气、人员走动方式、噪音、食品饮料和舒适程度等,这些元素都不能忽视,高产出的团队仍然是由人而不是机器人构成。受其工作环境的影响,这些努力工作的人可能士气高涨,或是感到经受挫折。不过也确实存在一些特殊的团队可以在非常奇怪,非常不利的条件下工作。然而,当团队决定使用敏捷方法来提升他们交付业务价值能力的时候,以合适的方式寻求管理层对全新的协作式工作方式的支持,是很正当的做法。
下面是一些针对创建良好工作空间的建议,这些建议来自一些敏捷教练,他们见过许多安排得成功或是不成功的不同团队的工作空间。
Mishkin Bertieg 在他的博客上记录了在创建健康高效的工作空间时需要的考虑的八个重要领域。虽然其中有些看起来显而易见,但是执行的过程中,却总是存在反复向现实妥协的状况。
阳光、空气、自然:充足的自然光、流通的空气和鲜活的植物构成了一个绝佳的环境,使得人在其中可以感觉非常舒适。 空间布局:人们需要在彼此旁边工作,进行面对面的交流。他们同样需要一个半私人的空间来进行讨论或打一些电话。这些空间的墙的面积要足够大,以布置白板。
人体工学:高度合适并且舒适的桌椅,并且可以灵活配合不同个人的人体工学需求。
个人隐私:每个人都需要有一点自己单独调配的时间。有些组织提供彼此分开的迷你会议室,或旅馆式个人空间(hotelling space)。其他一些组织允许雇员们在团队房间之外有自己的个人小隔间。
个性化:一个人可以灵活处理并个性化他自己的空间。人们要在其中放置自己的照片、玩具、植物,以及其他的随身物品,来构建一个属于他自己的地盘。
对外的可见性:组织内的其他人员要能够走到敏捷工作团队的旁边,用眼睛和耳朵观察团队成员们在做什么。门、窗、或是休息室都应该对外开放。
方便性:洗手间、咖啡、打印机和其他的公用设备要可以很容易接触到。团队没有必要也不应该与办公室内其他设备隔离开。
噪音:团队在一起工作时声音会比较大。要保证团队房间之外的人不会被这些声音所影响。要平衡这一点与方便性和可见性会比较困难。
——引自 Mishkin Berteig [2] 在 AgileAdvice.com 上的文章。
对敏捷建模的支持
敏捷团队使用多种方式来提升协作程度。不处理正式的中间文档是常用的方式之一。这种方式需周密安排;当使用白板进行建模和其他的信息辐射器以替换繁重的文档时,团队突然发现他们需要大量的墙面空间,或是多种电子设备的辅助。
当团队转向敏捷建模时,团队需要考虑多种特定因素;Scott Amble 撰写了深入探讨这些因素的文章。下面是其中的一些关键点,更详细叙述请参见原文:
大量的白板空间:只要有空白的墙,就把白板布置上去,高度可直抵天花板。即使是支撑建筑结构的柱子,只要他们的宽度超过一英尺(也就是 30 公分),也可以布置上去。此外,开发人员要有他们自己的个人白板空间。 数码相机:用来拍摄建模的成果。使用方法:将建模成果放在组织内部的项目说明网页上,抓拍画在纸上的建模图像,或用来保存一个图表的拷贝以将其置于版本控制系统的控制之下。
建模用品:“使用最简单的工具”这个敏捷实践,建议你利用最简单的工具来完成工作,因此你可以使用:可马上使用的白板笔、(不同颜色和大小的)即时贴、(不同颜色和大小的)索引卡片、可以写的纸、挂图、磁带、图钉、绳子,或其他任何团队需要的建模所需用品。
书架或存物柜:保存你的建模用品和参考书。
大桌子:诸如 CRC 建模这样的技术需要一个大桌子来进行。
电脑:在建模区中有一台电脑可供使用,可以提供很大的好处。特别是需要查看版本控制系统中的此前的模型时。保证这台电脑没有问题,因为你肯定不会希望整整一组人因为等待一台机器而浪费时间。
用来贴纸的墙面空间:以粘贴你的纸质成果。
投影仪:如果需要在工作区中使用电脑,那就应该考虑使用投影仪,来将图像投放在墙壁上。这样每个人都可以了解到信息,并提升了沟通效果。
玩具:在工作时,你需要在手上把玩一个东西,帮助你不要过度沉浸在工作中。
引用自 Scott Amble 的 Organizing an Agile Modeling Room [1] 。
实际案例:一个敏捷团队房间的期望列表
随着时间推移,拥有众多团队的组织希望为“理想化”的团队房间形成一个正式的列表,以帮助设备管理人员创建更多的团队空间。一定要注意的是,不要严格的定义这个列表:约束条件以及团队的需求总是随具体情况而有所区别的,而且必须要留出让他们自行发挥的空间。创建的任何规则都应该把焦点放在要实现的目标上,放在要满足的需求上,而不是具体的实施方式。
下面的列表是 Joseph Little 与一队敏捷教练共同为某个组织所创建的。这个列表来自于他们过去与十数个团队一起努力创建合适的工作空间的过程,以及在过程中取得的不同程度的成功经验。这些经验基于特定的业务环境,基于特定的硬件状况,远程协作情形,以及空间的限制等。在阅读这个列表的时候,真正重要的是人们思考的过程,而不是特定的细节。
请注意列表中的措词:该列表是用来引发大家讨论的,而不是绑票勒索用的纸条。至关重要的一点:要允许团队参与他们对自己空间的设计,这样可以很自然的引发新的想法,并设计出独特的、高度定制的工作空间。这一点经常会被人们以“降低效率”的理由忽略掉,因此要一再重申。在设计团队的工作空间时,要将他们包括进来,以消除在开始的几个迭代中妨碍他们工作的绊脚石。这样做所带来的团队士气和生产力的提升,其产出远超过他们参与设计所消耗的成本。
下面是 Joe 的列表:
我们对敏捷团队房间的期望列表请注意,为了完成隐含的目标,有很多种方式;如果我们不能拥有这些理想条件,还可以寻求其他的变通方式。
- 房间大小:在一个成功的案例中,我们在一个最大可容纳 20 个人的房间里面放置了 9 台显示器 / 扩展坞(供笔记本电脑使用)。房间非常大,提供了足够的空间让人们在一起“生活”一段时间。对于团队来说,这让他们感到非常舒适自然;他们可以近乎百分之百的精力投入到他们的工作中去,一天的绝大部分时间都呆在这个团队房间,这就是他们工作投入的表现之一。
- 团队隐私:隐私也许来自走廊中的闲谈。外部经常发生的噪音会分散团队的注意力,并给他们带来压力。不过这也意味着有些团队讨论会在团队房间之外发生,并不是一个好主意。
- 个人隐私:保证有个人的空间可以让人打私人电话或是做一些敏感的工作(比如:填写健康声明或是撰写绩效评估)。
- 阳光、空气流通:当团队总是呆在房间中时,对这些元素的需要就更加迫切。
- 电扇:最近经常出现空调发生故障的情况,这时团队会需要电扇
- 创意空间:这一点很难描述,但却非常重要。最低限度的要求,工作空间不应当是令人感觉无聊和压抑的。理想状况下,空间的颜色以及其他方面应该支持创意的发挥。
- 扩展坞:扩展坞可以为团队添加价值,但是也会占用空间。团队所有的笔记本电脑都应有相应的扩展坞,而且都应该能够接入网络。要提前预想新的团队将来会需要什么。
- 针对采取结对编程的团队:我们推荐使用接入扩展坞的大型(23 英寸)纯平显示屏。
- 白板:房间应布满白板。有磁力的白板虽然价格昂贵,却是很关键的设备。当然,白板需要有配套的马克笔和板擦。
- 至少需要 300 个不同颜色的小型磁铁。
- 挂图及其支架:要在房间中提供放置的空间,并提供配套的大张“即时贴”。
- 带有扬声器的无线话筒:如果是大房间的话,也许需要两个。
- 固定电话线:多放置几个带有扬声器功能的电话以允许人们自由使用。
- 应该平衡放置电话的位置,要在房屋中间的桌子上至少放置两个电话,其他的放置在人们所处空间的边缘。
- 卡片:要准备 400 张不同颜色的卡片。(25% 为 4×6 英寸,剩余大小为 3×5 英寸)
- 接口:我们需要网络接口(通过扩展坞),电话使用的接口,以及电源接口。
- 人们会移动自己的位置,因此我们需要接口的数目多于人的数目。
- 有更便宜的方式可以避免让人们被通往中间的桌子上的各种接线所绊倒。
- 桌子:要有大小不等的桌子(或者是可以方便的拼接、摆放在一起的小桌子)。通常要在屋子中间摆放一张供 6 至 8 人使用的大桌子,旁边摆放其他小桌子。还需要一个小圆桌,供 2 至 3 人的小型会议使用。
- 大型挂钟:通过它所有的人都能知道立会何时开始,或何时召集会议。
- 无线网络:这样其他部门的来访者也能接入网络。
- 打印机:应该准备一台好用的激光打印机在房间内,或是非常接近的地方;还要有 11×17 英寸的纸张。
- 小型会议室:如下两种类型的会议室皆可;a)在团队房间中的一块安静空间,专供会议或讨论使用。如果提供的房间相对团队人数来说足够大的话,可以使用这种方式。b)位于团队房间旁边,专供团队使用的两个小型会议室。
- 用来挂大衣,以及在冬天放置靴子的空间。
- 用来储存个人物品的空间,可以是桌子下面的文件柜,或是一个大型的站立式文件柜。
- 对于隶属于承包商的雇员,或者其他“不固定”的团队成员来说,他们需要更多的空间,因为没有其他地方可供他们放置自己的东西。
- 桌面 PC:可供多种用途(测试,代码集成等)
- 日历:一些可以往上写东西的、每月一张的大型日历牌。
- 数码相机:可以节省大量准备文档的时间,并与附近的其他团队共享。使用起来,必须可以很方便的将照片从数码相机中下载到笔记本电脑上。
- 小型电冰箱:放在房间内或是附近,用来存放冰水和苏打水。
由 Kittyhawk Consulting [3] 公司的 Joe Little 准备,许多人都贡献了自己的主意(谁贡献了,你们自己心里明白啊)。
学习计划
让我们充满希望的是,经理们与团队成员和其他领导者一起,根据他们现有的资源以及限制条件,在共同合作创建他们能做到的最好的团队空间。当然,在新空间中的头一个月会发现之前决策的一些问题和错误。但是在回忆自己所做的事情之时,要记得“回顾基本原则”:每个人都已经尽了自己的最大力量。当在回顾中提出“我们应该改变什么”这样的问题时,要反复思考自己的工作空间还有哪些可以改进的余地。一旦找到了更好的方式,就马上执行。当回顾中有人提出“哪些我们做的还不错”这个问题的时候,不要忘了庆祝你做出的成功的改变。
记住:你不需要在一开始就把一切都规划好,可以在每个迭代中做出调整。但是,涉及到大型的、不可移动的和昂贵的设备之时,事先的规划是绝对值得的,这样可以留出更多的时间来应对各种情况。我们经常能够观察到:敏捷团队在他们的工作空间没有准备好的时候,自己早已准备就绪。
要注意你所得到的可能是“我们不能在这里这样做”。要现实一点,并且为了达到高产出的生产力,随时准备保护你的团队的真正需要。如果不能做到的话,你可能要设计一个缩水的、半敏捷的流程,但是要对外声明:不可能达到完全实施敏捷所带来的收益。
高效率的团队被一台低性能的电脑设置所牵制,是非常不值得的一件事。
—— Mishkin Berteig [2]
我曾经见过,由于缺少像样的桌椅、食品饮料、顶尖的电脑等这样的资源,严重阻碍了软件开发的成效。如果你的项目团队离溃散不远的话,我必须要问,这个项目对你的组织来说重要吗?如果不重要的话,干脆取消好了,不如把精力放在做其他更有产出的事情上面。
—— Scott Ambler [4]
引用说明
[1] Scott Ambler, Organizing an Agile Modeling Room
[2] Mishkin Berteig, 8 Team Room Tips
[3] Joe Little 是一个自由职业的项目管理咨询顾问
[4] Scott Ambler, When Does Agile Modeling Work?
关于作者
Deborah Hartmann 是一个敏捷实践者、培训师、教练,并以多伦多为基地,从事国际性的工作。Deborah 对于如何让工作变得既对业务有价值,又让团队觉得开心这件事充满激情。在敏捷领域中,她指导过业务规模大小完全不同的团队;从 2006 年四月开始,她成为了 InfoQ 敏捷社区的首席编辑,并且在美国和加拿大推进了为极限编程准备的 OpenSpace 会议和 BarCamp 社区的活动。
查看英文原文: Designing Collaborative Spaces for Productivity - - - - - -
译者简介:郑柯,目前就职于一家医药电子商务公司,从事医用耗材电子商务平台的开发与维护。有志于在中国的软件开发业界推广 Agile 的理念和方法论,笃信以人为本,关注 Ruby,关注敏捷,关注人。
评论