|
|
|
|
移动端

38 定期安排会面时间

《高效程序员的45个习惯:敏捷开发修炼之道》本书总结并生动地阐述了成为高效的开发人员所需具备的 45个习惯、思想观念和方法,涵盖了软件开发进程、编程和调试工作、开发者态度、项目和团队管理以及持续学习等几个方面。本节为大家介绍定期安排会面时间。

作者:钱安川/郑柯 译来源:人民邮电出版社|2010-03-04 08:57

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


第8章 敏捷协作

我不仅发挥了自己的全部能力,还将我所仰仗的人的能力发挥到极致。

--伍德罗·威尔逊,美国第28任总统(1856-1924)

只要是具备一定规模的项目,就必然需要一个团队。靠单打独斗在车库里面开发出一个完整产品的日子早已不再。然而,在团队中工作与单兵作战,二者是完全不同的。一个人会突然发现,自己的行为会对团队以及整个项目的生产效率和进度产生影响。

项目的成功与否,依赖于团队中的成员如何一起有效地工作,如何互动,如何管理他们的活动。全体成员的行动必须要与项目相关,反过来每个人的行为又会影响项目的环境。

高效的协作是敏捷开发的基石,下面这些习惯将会帮助所有的团队成员全心投入到项目中,并且大家一起向着正确的方向努力。

首先要做的是定期安排会面时间,见第148页。面对面的会议仍然是最有效的沟通方式,所以我们将以此作为本章的开篇。接下来,希望每个人都能投入到开发过程中来。也就是说架构师必须写代码(我们会在第152页看到为什么要这样做)。既然整个团队都是项目工作的一部分,我们希望实行代码集体所有制(见第155页),以保证任何团队成员的缺席不会对项目造成影响。这就是协作的效果,还记得吗?

但是高效的协作并不只是写出代码就好了。随着时间的流逝,团队中每个人都要强化和提高他们的技能,并且推进各自的职业发展。即使一个人刚刚加入团队,他也可以成为指导者,将会在第157页谈到应该怎么做。团队中一个人的知识,经常可以解决另外一名团队成员的问题。只要允许大家自己想办法,就可以帮助团队不断成长,就像在第160页上看到的那样。

最后,由于大家都是在团队中一起工作,每个人就要修改自己的个人编码习惯,来适应团队的其他成员。对于初学者来说,准备好后再共享代码才是有礼貌的做法(见第162页),这样才不会用未完成的工作来给团队成员造成麻烦。当准备好之后,我们应该与其他团队成员一起做代码复查(见第165页)。随着项目的推进,我们会不断地完成旧任务,并且领取新任务。应该及时通报进展与问题,让大家了解彼此的进度、遇到的问题,以及在开发过程中发现的有意思的东西。我们将在第168页讨论该习惯并结束本章。

38 定期安排会面时间

"会议安排得越多越好。实际上,我们要安排更多的会议,直到发现为什么工作总是完不成。"

也许你个人很讨厌开会,但是沟通是项目成功的关键。我们不只要跟客户谈话,还应该与开发人员进行良好的沟通。要知道其他人在做什么--如果Bernie知道如何解决你的问题,你肯定希望早点搞清楚她是怎么做的,不是吗?

立会(站着开的会议,Scrum最早引入并被极限编程所强调的一个实践)是将团队召集在一起,并让每个人了解当下进展状况的好办法。顾名思义,参与者们不允许在立会中就坐,这可以保证会议快速进行。一个人坐下来之后,会由于感到舒适而让会议持续更长的时间。

Andy曾遇到一个客户,他和Dave Thomas通过电话远程参与客户的站立会议。一切都看起来很顺利,直到有一天,会议时间比平时多了一倍。你猜怎么着?客户那边,与会者都挪到了会议室,舒舒服服地坐在扶椅上开会。

坐着开的会议通常会持续更久,大部分人不喜欢站着进行长时间的谈话。

要保证会议议题不会发散,每个人都应该只回答下述三个问题。

昨天有什么收获?

今天计划要做哪些工作?

面临着哪些障碍?

只能给予每个参与者很少的时间发言(大约两分钟)。也许要用计时器来帮助某些收不住话头的人。如果要详细讨论某些问题,可以在立会结束之后,再召集相关人员(在会议中说"我需要跟Fred和Wilma讨论一下数据库"是没有问题的,但是不要深入讨论细节)。

通常,立会都是在每个工作日的早些时候,且大家都在上班时举行。但是不要把它安排为上班后的第一件事。要让大家有机会从刚才混乱的交通状况中恢复状态,喝点咖啡,删除一些垃圾邮件什么的。要保证会议结束后有足够的时间,让大家在午餐之前做不少工作,同时也不要开始得过早,让每个人都巴不得赶紧结束会议,去喝点东西。一般来说,在大家到公司之后的半个小时到一个小时之内举行,是个不错的选择。

猪与鸡

Scrum将团队成员与非团队成员这两种角色命名为猪和鸡。团队成员是猪(自尊何在啊),非团队成员(管理层、支持人员、QA等)是鸡。这两个用语来自一个寓言,讲的是农场里的动物们打算一起开饭店,并且准备用熏肉和鸡蛋作为早餐提供。对于鸡来说,当然是要参与进来了,可对于猪来讲,可就是放血投入了。

只有"猪"才允许参与Scrum的每日立会。

参加会议的人要遵守一些规则,以保证彼此不会分神,而且会议也不会跑题。这些规则有:只有团队成员--开发人员、产品所有者和协调者可以发言(查看上面对"猪"和"鸡"的描述)。他们必须回答上面的3个问题,而且不能展开深入讨论(讨论可以安排在会后进行)。管理层可以把要解决的问题记下来,但是不能试图将会议从每个人要回答的三个问题引开。

每日立会有诸多好处。

让大家尽快投入到一天的工作中来。

如果某个开发人员在某一点上有问题,他可以趁此机会将问题公开,并积极寻求帮助。

帮助团队带头人或管理层了解哪些领域需要更多的帮助,并重新分配人手。

让团队成员知道项目其他部分的进展情况。

帮助团队识别是否在某些东西上有重复劳动而耗费了精力,或者是不是某个问题有人已有现成的解决方案。

通过促进代码和思路的共享,来提升开发速度。

鼓励向前的动力:看到别人报告的进度都在前进,会对彼此形成激励。

使用厨房计时器

开发者Nancy Davis告诉我们她使用厨房计时器召开立会的经验。

"我们使用了妹妹去年圣诞节送给我的一个厨房计时器。它在运行时不会发出'嘀哒'的声音,只会在时间到达后发出'叮'的一声。如果计时器停止了,我们就再加两分钟,并让下一个成员发言。有时会忘掉计时器的存在,并让会议持续需要的时间,但是大部分情况下,我们都会遵守计时器的提醒。"
采取立会的形式需要管理层的承诺和参与。不过,团队中的开发人员可以帮助推行这个实践。如果开发人员无法说服管理层的参与,他们自己可以用非正式的形式召开立会。

使用立会。立会可以让团队达成共识。保证会议短小精焊不跑题。

切身感受

大家都盼望着立会。希望彼此了解各自的进度和手上的工作,而且不怕把各自遇到的问题拿出来公开讨论。

平衡的艺术

会议会占用开发时间,所以要尽量保证投入的时间有较大的产出。立会的时间最长不能超出30分钟,10~15分钟比较理想。

如果要使用需提前预定的会议室,就把预定的时间设定为一个小时吧。这样就有机会在15分钟的立会结束后,马上召开更小规模的会议。

虽然大多数团队需要每天都碰头,但对于小型团队来说,这样做可能有点过头了。不妨两天举行一次,或者一周两次,这对小团队来说足够了。

要注意报告的细节。在会议中要给出具体的进度,但是不要陷入细节之中。例如,"我在开发登录页面"就不够详细。"登录页面目前接受guest/guest作为登录用户名和密码,我明天会连接数据库来做登录验证",这样的详细程度才行。

迅速地开始可以保证会议短小。不要浪费时间等着会议开始。

如果觉得立会是在浪费时间,那可能是大家还没有形成真正的团队意识。这并不是坏事,有利于针对问题进行改进。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

一目了然——Web软件显性设计之路

本书阐述了为什么以及如何设计出简单易用的基于Web的软件,让用户单凭常识即可有效地使用它。主要内容包括:显性设计的概念、如何理解用户...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊