什么是Team Canvas?
Team Canvas是基于布鲁斯·塔克曼的团队发展阶段模型 设计的。它用于解决团队在形成期和震荡期遇到的问题,例如互信关系的建立,冲突的处理和期望的管理等。它可以帮助团队快速进入规范期。
Team Canvas是一个针对小团队(2-8人)的框架,它可以帮助团队在以下方面达成一致或增进相互了解。
团队层面
-
团队目标(Goals)
团队需要达成的目标,它必须是可行的,可测量的,有时间限制的。所有团队成员需要对目标达成一致。
-
团队角色(Roles)
团队成员在团队中承担的角色,可以增进团队成员间的相互了解。
-
团队动机(Purpose)
团队完成团队目标的动机,可以帮助团队成员理解当前工作的意义。
-
团队价值观(Values & Norms)
每个团队成员都会有不同的价值观,团队价值观是所有团队成员价值观的交集,是指导团队工作的最高准则。
个人层面
-
个人目标(Own agendas)
个人在当前团队想要达到的目标,它可以帮助我们确定当前团队是否合适我们。
-
个人强项(Skills & Assets)
个人可以为实现团队目标所做的贡献,可以让我们了解团队的所有可利用资源
-
个人弱项(Weak Spots)
个人感觉能力薄弱的地方或团队存在的风险,可以让我们了解团队所缺失的能力,并有针对性的采取行动。
-
个人需求(Needs)
个人在团队中需要帮助的地方,可以充分利用团队资源帮助其完成个人目标。
另外团队规范(Formal & Informal Rules)贯穿于团队和个人层面,它规定了一些正式或非正式的规则,团队成员需要基于这些规则进行日常工作。
Team Canvas的生成通常以工作坊的形式进行,需要尽可能多的团队成员参与进来。针对不同的场景,有两种版本可供选择。
基础版
基础版包含了团队运作需要达成的基本共识,包括团队目标,团队价值观和行为规范。它通常在新起项目,有新成员加入或团队对Team Canvas不太熟悉时使用。整个工作坊的时间大概需要半个小时。
完整版
完整版包含了Team Canvas的所有信息,通常在建立一个新团队时使用。与基础版的区别是
- 显式的区分了团队目标(COMMON GOALS)和个人目标(PERSONAL GOALS)
- 增加了个人强项(STRENTHS & ASSETS),个人弱项(WEAKNESS & RISKS)和个人需求(NEEDS & EXPECTATIONS),并将基础版中的技能(SKILLS)合并到了个人强项。
整个工作坊的时间大概需要两个小时。
如何组织Team Canvas工作坊?
触发点
在遇到下述场景时,可以考虑使用Team Canvas工作坊
- 创建新团队
- 启动新项目
- 加入新成员
- 团队成员对团队目标,团队价值观和行为规范理解不一致
准备
线下
- 足够容纳所有团队成员的会议室,基础版需要预定半个小时,完整版需要预定2个小时。
- 足够大的白板或会议室墙面,可以画下Team Canvas框架。
- 足够多的贴纸和笔。
- 提前向团队成员讲解Team Canvas的内容。
线上
- 创建可以进行团队协作的线上白板,并准备好Team Canvas框架,例如Mural,Miro。
- 预定线上会议并将白板链接放入会议邀请,基础版需要预定半个小时,完整版需要预定2个小时。
- 提前向团队成员讲解Team Canvas的内容。
主持工作坊
这里以完整版为例,工作坊的流程如下
介绍流程 - 3分钟
这里主要介绍整个工作坊的流程及各个模块的具体含义。
填写团队角色 - 2分钟
如果团队成员承担了多个角色,可以用多个贴纸表示不同的角色。
问题示例
- 我叫什么名字
- 我在团队中担任什么角色
填写示例
- 张三,开发
- 李四,PM
填写团队目标 - 5分钟
问题示例
- 我们作为一个团队要达成什么目标?
- 这个目标是可行的,可测量的,有时间限制的么?
填写示例
- 在6月1号发布xx产品。
- 在3月底将成本降低30%。
讨论团队目标 - 10分钟
这里需要确保有客户,BA或PM等对团队目标有较大影响力的角色参加,否则可能会得到错误的团队目标。
填写个人目标 - 5分钟
问题示例
- 我希望在团队中实现哪些个人目标?
- 我是否希望其他成员了解我的个人目标?
填写示例
- 精通函数式编程
- 熟悉流媒体技术栈
填写动机 - 5分钟
问题示例
- 我们为什么要实现这个团队目标?
- 它的意义是什么?
填写示例
- 给更多的人带来便利
- 让更多的人快乐
填写团队价值观 - 5分钟
问题示例
- 我们工作的指导原则是什么?
- 我们希望团队成员有哪些优秀品质?
填写示例
- 有责任心
- 积极主动
- 相互信任
- 追求完美
讨论团队价值观 - 10分钟
价值观是每个人的核心原则,这里不是讨论价值观本身的好坏,而是作为一个团队找出我们最为看重的价值观。这里我们可以采取投票的方式进行。
填写个人强项 - 5分钟
问题示例
- 我有哪些技能可以帮助团队达成目标?
- 我有哪些软技能?
- 我擅长什么?
填写示例
- Java
- 英语
- 沟通
填写个人弱项 - 5分钟
问题示例
- 我有哪些弱点或短板?
- 我希望团队知道我的哪些偏好?
- 我看到了哪些团队问题需要去解决?
填写示例
- 我不喜欢函数式编程
- 我不擅长TypeScript
- 我不喜欢结对编程
填写个人需求 - 5分钟
问题示例
- 我需要团队做些什么来帮助我实现个人目标?
- 我希望团队增强哪方面的能力?
填写示例
- 组织TypeScript培训
- 提高沟通能力
- 提高代码审查速度
填写行为规范 - 5分钟
问题示例
- 我们该如何做决定?
- 我们该如何解决分歧?
- 我们该如何沟通?
填写示例
- 以ADR的形式决定架构相关的问题
- 对事不对人
- 不抱怨任何人
- TL需要和团队成员每个月进行一次单独沟通
讨论行为规范 - 15分钟
行为规范是帮助团队到达规范期的一个重要输出,它为团队的日常工作提供了指导,是需要花费大量时间讨论的部分。
总结 - 10分钟
回顾整个Team Canvas的输出内容,针对团队感兴趣的问题做更详细的讨论,这里不局限于团队目标,团队价值观和行为规范这三个模块。
后续
- 将Team Canvas存档,方便团队成员随时查看。
- 将团队目标,团队价值观和团队规范形成单独的文档,用其指导团队后续的日常工作。
- 针对个人需求制定计划,满足其需求。
- 针对团队当前能力与实现目标所需能力的匹配程度,制定团队能力提升计划。
- 关注个人目标与团队资源不匹配的成员,管理其期望或帮助其找到更加合适的团队。
实践中遇到的坑
版本选择错误
我在团队中第一次主持Team Canvas工作坊时选用了完整版,但大家对Team Canvas都不熟悉且我们更关心的是团队目标,团队价值观和行为规范这几项,所以在团队接触Team Canvas初期使用基础版会使问题更加聚焦,效果会更好。当大家熟悉整个流程后可以引入完整版。
会议时间不足
对于完整版,我只定了一个小时的会议,导致很多模块的时间很紧张,没有给团队成员足够的时间进行思考和讨论,最后输出的内容也不是很理想。
没有提前介绍Team Canvas
在会议开始时,大多数团队成员是第一次听说Team Canvas,我花了大量的时间介绍它的理论基础和作用。如果能在会议开始前完成这部分,工作坊会进行的比较顺利。
讨论不足
大家可能注意到,我们只对团队目标,团队价值观和行为规范进行了讨论,其他部分都是只填写不讨论。这就会给团队成员带来很多困惑,既然不讨论我们为什么要写呢?为了消除这种困惑,我们一定要在最后总结时回顾所有的输出内容,并邀请团队成员对任何感性趣的问题进行讨论。