本文共 10307 字,大约阅读时间需要 34 分钟。
自组织团队理念被称为敏捷开发的秘密武器。本文试图系统化如何思考以及如何发展健康的自组织。
\\我第一次开始思考软件开发团队中的自组织是在2011年。当时,除了如果你渴望敏捷,你应该拥抱它之外,真的没有多少相关文献。在如何(作为经理/教练/领袖)促进和培养自组织方面几乎没有什么建议,而且大部分建议是这几个方面:
\\有很多不要,当然意识到问题的反模式肯定是有用的,但是很大程度上却没有回答出你究竟怎么做来支持自组织
\\如今,你可以更容易地在互联网上搜索到敏捷团队的自组织建议,例如和 ,但是在我看来这个问题还是未被描述清楚且有待完善。我在这片文章中描述的模型并非完全独特的,但是我认为与其它描述相比,它更加的清晰,专注。我希望这片文章可以作为灵感,也许可以作为讨论如何在组织内最佳利用自组织的起点。
\\与定义一群人截然不同,人们对团队的定义各不相同。简洁但有用的定义是:
\\这是一个通用的定义,并且没有特指敏捷或者软件开发团队。
\\有时自组织、自主、自管理团队之间是有区别的。更复杂的是不同的人对这些术语的定义不同。本文的重点不是区分它们之间的不同。但是我写这篇文章的时候也做了一些假设:本文讨论的环境是有数个团队有着共同的或者至少相关的目的,在这个环境中存在自组织团队,以及存在围绕团队的管理架构。即团队不是自发聚集的,他们有一定程度的相关依赖性。
\\那么,从业务和管理的角度来看,为什么拥有自组织团队是一个好主意?虽然被认为有着完善的价值和被授权的员工这种现代化组织的确很好,但是真实原因却更加的实际;自组织是一种强大的管理策略,将会带来更好的结果,因为:
\\除了纯粹的商务术语中的改进成果之外,运作良好、自组织的敏捷团队还应该展示一些特性或者价值,例如:
\\有些文章暗示培养自组织的方法就是确保这些特性存在团队之中。但是,我想争辩的是这些特性更多的是运行良好、自组织的证明而不是培养自组织的良方。相反我想说必须有一套组织的先决条件,才有可能实现自组织。然后,考虑到这些先决条件,我们还需要铭记健康的组织在很大程度上依赖团队成员。下图试图说明这一点,即首先你需要有合适的组织资产基线,我称之为基础。在这之上你需要确保拥有健康的团队和面面俱到的个人。只有这样我们才能实现健康的自组织,拥有真正的团队价值观和行为,就像上面列出的一样。
\\ \\让我们更详细地看看模型的不同层,首先从基础层开始。
\\在基础层,我们发现如下组织基础架构:
\\我们简要地谈一下每一点。
\\为了得到健康的自组织,你必须有一个为之奋斗的伟大目标,并知道如何以正在进行的方式度量团队产量和服务的效用。
\\在经济学中,最简单定义效用的方式是货币的数量,人们愿意支付商品或者服务的货币数量。过去几年,在敏捷中非常流行使用延误成本作为价值的度量指标,可能也是效用的最佳代理了。换句话说,团队必须有一种严格的经济术语可以用来确定其有效程度。度量价值/效用并非没有挑战:
\\在 网站上有一些指示有助于你思考价值和计算延误成本的紧迫性,但是为了关联你们具体的商业环境,你还需要进行大量的关联工作。
\\除了理解效用,团队拥有一个为之奋斗的伟大的高层次的目标同样非常重要。优秀的高层次的目标应该包括:
\\这类似于美国海军陆战队和其他军事机构的任务指令结构形式。
\\许多组织在经济成果之上定义目标:收益、收益率等等。然而,作为促进自组织的手段,这种目标完全不起作用。作为能够起到有效指导的目标,你需要觉得你(作为一个团队或个人)对能否完成目标有着巨大的影响。这与你依据顶级 KPI定义目标不同。目标应该是一些你关心的,觉得兴奋和有挑战的事情。
\\在目标有所成就方面,我见过的一个最佳的例子大约是在20年前;那时软件还是以纸盒的方式发布。那时我还在 Rational Software工作,从事软件开发工具,Rational其中一个产品 UML建模工具 Rational Rose非常的出名。那时,微软是当时公认的首屈一指的高科技超级独角兽。总之,Rational跟微软做了笔交易,开发 Rational Rose的变体——Microsoft Visual Modeler,作为 Visual Basic 5.0 / Visual Studio 97的一部分发布。留给我们完成产品的时间表非常具有攻击性,从事这项工作的团队是最近才组建的,成员分布在美国和瑞典。完成这项工作不是一件容易的事情。让团队走到一起并作为一个整体的高层次目标可以简单表示为:
\\\\\与 Visual Studio 97一起发布
\
这是一个伟大的目标,因为它即让人兴奋和渴望,同时对开发团队而言也具有挑战性。并且也与 Rational的商业目标有关联,能够最大化暴露给使用 Visual Basic的企业开发人员,能够实现引人注目的提升销售。最后事实证明尽管与 Microsoft CD作为一体发布不是一个正确的决定,不如将 Visual Modeler作为软件下载发布好。然而在完成产品方面,这是一个伟大的目标。
\\还有更多有关如何使用目标和度量(效用)的内容,但是我想在以后的博客中详细探讨。
\\有时人们认为为了能够自组织,从一开始团队就应该具备所有必须的知识。在现实中我们完全具备大部分必须的知识。剩下的可以在过程中学习。因此,每个团队必须理解:
\\除此之外,还有一些让人讨厌的知识范畴,可以归类为:
\\因此,要取得成功我们需要 B和C范畴的学习方法,同时我们还需要一种方法能够意识到 C范畴。为了实现这一目标,团队需要帮助、时间,或许资金。从本质上来讲如果不考虑太多的细节,提供适当支持的责任应该由围绕团队的组织制度负责。比如:
\\有学习自然有反馈,接下来我们讨论反馈。
\\自组织团队将不断适应他们所构建的和打算构建的,以及如何去实现。为了做到这一点,团队必须得到工作的反馈。其反馈应该是:
\\反馈是敏捷方法的心脏,这并非是巧合。敏捷团队通常定期向干系人/商业人士验证/评审,从而获得所构建解决方案的反馈;他们举行回顾会议以评估工作方式,使用技术实践比如自动化测试和持续集成来获得持续的技术反馈提要。
\\单个团队内的沟通本身就是一个挑战,但是在这个模型中我们将在随后的人们层讨论这一问题。然而,在多团队情境中,你可以充分持续观察团队之间的沟通。有意义的沟通的发生通常需要具备沟通机制和共享的本体。如果你有多个协作团队并且拥有共同的历史,那么很大程度上沟通将自然而然的发生。另外一方面如果你有许多团队但没有共同的历史,团队可能需要支持,以建立沟通机制和共享的本体。如果你的团队分布在和/或属于不同的组织,这会进一步放大这个问题,比如你与外包合作伙伴合作。
\\实际上,这意味着你需要建立会议时间表,并需要确保有足够的空间和技术运行会议,比如分布式会议。同时你还需要建立一种文化,使人们不会犹豫寻找其他团队的帮助或者为共同利益进行讨论。为了做到这一点,必须建立存在哪些团队,他们从事什么,和如何联系他们的目录。
\\如果您的组织正从传统的层级组织转变,那么它将要求人们学习新的行为。当你拥有自组织团队时,协调和请求将在点到点之间处理,而不是贯穿项目上下或者各级管理层。根据我的经验,你需要明确告诉团队成员帮助他人是他们的职责。在一个大型组织内,这意味着有时你会求助一些你不认识的人,并与其沟通。对于团队的某些成员而言,这会让他们一开始感觉不舒服,但是根据我的经验,一旦你打破密封层,人们都会领会直接沟通的优势。你有时看到的反模式是 Scrum master/敏捷教练代表团队处理了所有的外部沟通。在我看来,这是向传统项目管理角色后退的不幸的一步。
\\共享本体应该以某种方式记录在案。例如,一种可能性是在领域模型中捕捉商业领域中最重要的概念。但是这很容易造成过犹不及,因为如果某个模型太大或者太详细,很快其就会变成废词和/或者难以理解,因此请保持精益。高等级的架构描述和指导原则可以在技术领域起到类似的作用。这些描述的目的是提高对所谈论的有趣事情的关注,而不是详细地指定事情。
\\任何智力活动都需要做决策,比如软件开发。有时做决策很简单,有时却很复杂。有时决策会影响局部性质,有时却会影响全局性质。在职责分工明确的层级模型中(至少在理论上)很容易理解谁做哪种类型的决策和在哪做决策。但是当涉及自组织团队时,谁做决策就不是那么明显了。
\\此外,作为团队有效地工作你需要对工作完成度有一定的共识,即工作方式。自组织团队对定义这种工作方式有一定程度的自由,但是在较大型组织中,还需要跨多个团队达成一致的共识,或者甚至是跨整个组织作为一个整体。本质上来讲,达成共识的工作方式应该有助于个人和团队之间的协作,并能够确保组织内在正确层面做出高品质和及时的决策。
\\即便如此,仍然需要制定不同类型的决策。关注软件开发的决策主要分布在三个不同的领域:
\\对于每个领域,提出不同类型的决策在哪个层面制定的分类非常有用。目标应该分为在局部做小经济和小型组织影响的决策,和以协调一致的方式做大型组织影响或者较大经济后果的决定,同时还应该避免很长的交付周期和决策僵局。
\\在敏捷组织内多个团队之间不同层面做决策的例子可能是:
\\考虑这两个维度,我们可以排列一个矩阵,帮助理解应该在哪里做决策,如下:
\\业务 | 技术 | 工作方式 | |
个人 | |||
团队 | |||
项目 | |||
组织 |
不同的组织矩阵内容是不一样的,但是它应该能够回答如下问题:
\\一旦对某一类决策的制定层面达成共识,无论决策来自哪一层面,确保你在制定决策时是敏捷的特别重要,否则它会令事情变慢,阻碍进度。这在个人和团队层面则不是太大的问题,因为决策可以按需制定。但在项目和组织层面,通常需要正式的决策讨论会,且是计划性的会议。在项目层面,这种讨论会将有团队和项目管理代表出席。在组织层面,将由各级管理部门制定决策,但是应该视情况咨询项目和团队的意见。最后是紧凑但频繁的会议,而不是冗长、低频率会议,从而确保事情顺畅发展。项目层面的决策主体更应该每日召开会议,而组织层面的决策主体的频率可以稍微低点。
\\决策的制定是一门非常值得单独讨论的主题。在偏离本文主题太远之前我希望能够及早收回话题。
\\自组织并不意味着没有效能需求。类似清晰且具有挑战的目标,建立卓越的文化,或者追求卓越的文化同样非常重要。那么你如何在团队内实现呢?几年前我参加了一个讲座,是由瑞典的一个主导足球俱乐部教练 举办的(他们刚刚赢得那年联赛冠军)。讲座谈到了如何在一个相当多样化的群体里创建追求卓越的共享的渴望。其中一些引用让我久久不能释怀:
\\就我的理解而言,这些是团队内的座右铭,为了实现:
\\我认为这种心态的影响完全可以应用到软件开发团队中,因为他们同样面向细节和品质,比如在如下方面:
\\在这方面我同样认为足球团队的教练可以在软件开发团队中扮演类似的角色。即激励并挑战团队追求卓越,或者为团队建立合适的座右铭。
\\现在我们更详细地看看本模型中自组织的人们层。
\\尽管我们有技术,尽管有不同的技术可以用于获取需求、估算、或者管理团队工作等等,但是在团队内仍然需要人的协作使事情发生。当如此考虑时,把团队看成一个整体,把所有团队成员从团队分离看成个体非常重要。为了从团队中得到优秀结果,你必须确保同时拥有积极的个体和伟大的团队动力。
\\我心酸地体会到至少在相当大的程度上,积极性是个人责任。几年前我因为严格的经济原因而不是对角色成功的渴望,很长时间紧紧抓着一个职位。长话短说,你个人认为的缺乏动力在别人看来就是糟糕的心态。这绝不会让别人觉得你是价值贡献者或者适合为未来投资的对象。对此我的意见是你不能指望你的老板或者职场的其他人激励你。毕竟,你才需要对自己的未来负责。再明显不过了,是吧。组织能做的是创建一个个体能够自我激励的环境。
\\下图显示了内在动力的三个必要成分。
\\ \\这一激励模型来自 Dan Pink的心理研究正文,基于他的畅销书 Drive和 TED演讲,它们都是同一题材。上图中的自主(Autonomy)、能力(Competence)、和关联(Relatedness)就是 Dan Pink所谓的自主、精通(Mastery)和目的(Purpose)。
\\你绝对不该做的就是创建愚蠢的繁文缛节流程,这会打击个体的积极性。组织应该意识到使人丧失积极性远比让人获得积极性更加容易的重要性。那么,你能做些什么从而助力积极性?正如本节开头所述,我信奉的是内在动机基本上是个人责任。即个人必须将自己置于能够自我激励的位置。组织需要做的是了解并支持这一机制,并创建一种能够助力内在动机的文化。我们将在下一章节详细探讨这一问题。
\\在团体发展和团队动力方面有很多书籍和研究。有些文章比其它文章在心理研究方面更加有理有据。Susan Wheelan提出了一个有理有据且新颖的模型,如下图所示。
\\ \\当你将上文描述的内在动力模型覆盖在这个模型上时,你可以发现一个重点,团队发展的早期阶段就是找出共同基础和工作协议,从而让所有成员有可能通过以下方式实现内在激励:
\\虽然敏捷教练可以促进,并对其中一些事情能够产生影响,但是最终对组织功能中的团队和个人运行良好负责的还是组织的各级管理部门。我的建议是简单地跟团队谈这些事情,或许可以作为回顾扩展的一部分。不需要那么复杂,但是通过展示给他们和小组讨论在团队内提高对这些机制的认识,在我看来有助于事情的发展。我不会直接跟新成立的团队谈这些,因为如果他们有至少一个月的合作经验,你将能够从讨论中获得更多有价值的内容。这里描述的简单的团队发展和个人激励模型可以用于指导。
\\模型的最后一层是你在有足够合适的前两层的基础上希望得到的成果。我认为成功的自组织有三个主要成果
\\这里所描述的模型并不意味着任何理想的敏捷价值可以在不考虑它们的情况下自动出现。相反它表明如果在模型中你没有合适的基础层和人们层,你就不要指望它们的出现。
\\敏捷价值通常包括上文列出的,即:
\\让团队意识到这些价值和为什么重要是敏捷教练的职责。除非你非常确信你在做什么,否则我会非常小心地参与旨在促进信任、诚实、真实性等发展的明确干预或者小组练习。格外小心的理由是你这么做时总是会有风险对个人造成不可逆转的伤害。我认为这个精力更应该用在确保模型中下面两层在合适的位置,从而确保团队可以成功交付高品质的价值。没有什么能够比胜利更能建立团队精神。
\\当然,各级管理部门在文化的发展和组织内的价值观中同样发挥着重要的作用。如果行政决策者被视为不诚实那么可能一切都是虚假的,即为了促进价值的成长,你需要高层领导以身作则。
\\平衡是指自组织真正的含义:团队有权且有能力不断做出权衡。软件开发团队中包含的权衡如下图所示:
\\ \\你也许会冒出团队为了展示自我需要的更多的权衡。这也是我从 Rashina Hoda的博士论文中学到的。
\\归根结底都是有关达成目标与最大化效用的结果。正如本文一开始建议的,自组织是一个强大的管理策略,一个健康的自组织仅仅比严格的指导团队拥有更好的交付成果的机会。
\\有人建议你可以认为自组织团队是复杂理论中的复杂适应系统。我必须承认起初我对此也很好奇。但是一段时间后我发现这是个死胡同,并不能帮助你理解团队工作方式。敏捷团队其交互和自适应都是复杂的这是个事实。但是,如果我们研究一下复杂适应系统的定义,它应该有下述属性:
\\如果我们仅仅看这些词语并把它们映射到敏捷团队中,你脑中很容易出现这样的想法:
\\i. 我们想要自组织团队
\\ii. 一群人放任不管,展示应急行为
\\iii. 因此我们可以认为自组织团队就是复杂适应系统
\\在我看来,这非常具有误导性,因为复杂理论中的复杂适应系统同样意味着:
\\这与敏捷团队完全不同,在敏捷团队中我们只有相当少的 agent(人),而每个个体 agent之间的交互和行为非常复杂,记住我们面对的是人,而不是蜜蜂。
\\总之,复杂适应系统不能作为自组织敏捷团队的有效模型,即使可以它也不能帮助我们理解如何在职场支持和培养自组织。
\\有经验的敏捷领袖和教练应该熟悉本文中讨论的大多数内容。此外,本文并没有包含太多可以直接用于促进自组织的具体促进技术和练习。我希望你能够将此模型作为一个工具,研究自己的组织,看看在合适的位置是否存在必须的部分,从而实现健康的自组织。当然这只是一个理论,但是我希望你会发现这是一个好的,至少是有用的理论。
\\这里有张图,是我有关自组织的大统一理论:
\\ \\尽管该模型表明在关注更高层的项目之前你应该关注底部项目,但是那里没有严格的顺序。在实际应用中,你会发现你需要并行和迭代关注这些项目。这就是为什么箭头是双向的。
\\Svante Lidman在创业公司和大型国际企业比如微软、爱立信和 Rational Software拥有超过25年的软件开发和软件开发团队的管理/指导经验。2008年以来,Svante一直从事顾问工作,主要帮助软件开发组织转向精益/敏捷。2010-2012年间,他曾在 Scandinavia参与其中一个最大的精益/敏捷转型的启动和推进工作。
\\我希望能够获得你对本文的反馈。请在下面发表评论或者在 twitter()上或者 上联系我。
\\\\[1]For some different definitions, see for example: and
\\[2]This is actually similar as to what you find in works about intelligent agents in the field of artificial intelligence.
\\[3]See:
\\[4]
\\[5]
\\[6]
\\[7]Essentially a shared understanding of the fundamental things that we talk about and what they mean.See also
\\[8]
\\[9] Mikael Stahre then coaching AIK, and yes it is soccer we are talking about here
\\[10]Free translation from Swedish as I remember it
\\ \\[12]
\\[13]
\\[14]
\\[15]
\\[16]
\\[17]“There is nothing so practical as a good theory” - Kurt Lewin
\\查看英文原文:
\\转载地址:http://mqsdx.baihongyu.com/