本文发表于 ThoughtWorks洞见


ThoughtWorks武汉Office服务于海外知名大企业的某Account,因为高质量交付赢得客户的信任,并被视为敏捷技术标杆,供其他Vendor效仿学习。业务合作机会的增多促使团队进行Ramp-up,原本新人占比大的现状伴随着Ramp-up继续加剧。如何保持良好敏捷技术实践、实现技术卓越 成为团队即将面临的一大难题。新机遇所带来的挑战对团队提出了更高的要求,促成了思沃内训团队和该Account的姻缘,强强联手打响了一场持久的训战。


思沃内训团队的定位

我小时候经常听到一句这样的广告:学挖掘机找蓝翔 。可能在ThoughtWorks内部,有一句潜台词叫:搞培训找思沃学院。在开始之前,我想先聊一聊这句潜台词背后的意义。

我跟一些同事聊起思沃学院(曾用名,已更名为思沃内训)的时候,一些人对内训团队的认知是这这样子的:”我们团队成员的架构能力不足,没法落地微服务,你们来给我们上一个DDD的课吧…” 诚然,这种模式在培训市场是普遍存在的,组织斥巨资邀请大牌培训师,上个几天的课,培训师拿钱走人,然后呢,可能就没有然后了。

团队之所以需要一个培训,无非是因为面临自身无法有效解决的问题,亦或识别出潜在的风险(以花钱为目的另当别论)。问题通常源于流程两方面,流程的问题最终也能归结到人身上,人的问题又很容易被定义为能力的问题,这么一来团队便寄希望借助外部力量来提升团队的能力。这种想法没毛病,毛病在于培训往往无法有效解决能力问题,除非培训能够回答以下两个问题:

  1. 如何让学员的认知发生实质性的转变?
  2. 如何让学员将知识有效地转化成技能?

实践证明,单纯的培训很难给出答案,从而滋生了培训无用论。思沃内训团队致力于化解培训无用论 的魔咒。跟其他外部培训机构相比,内训团队得天独厚的优势在于根植于ThoughtWorks,深刻了解我们的文化和使命,我们要做的是超越培训,助力团队和组织有效地解决能力建设的问题。搞能力建设找思沃内训 是内训团队努力打造的品牌。


能力建设的团队自治观

思沃内训团队经过长时间的打磨沉淀,积累了多门精品课,在培训授课环节称得上得心应手。但前期实践下来,我们也面临着跟外部培训相似的困惑:培训之后无法确保团队发生实质性的提升。 要改变现状,我们必须要比培训做的多一点。站在更高的视角去看团队对培训的诉求,不难发现团队是希望通过有效的能力提升去解决实际问题,这便升级为一个复杂的能力建设问题。

关于能力建设,最理想的情况是团队内部自发组织,一来内部有更好的On-Boarding土壤,二来更符合自组织的敏捷团队特征,在ThoughtWorks不乏这种学习小组。然而,随着公司业务的扩张,新老同事快速更替,团队内的能力建设遇到了瓶颈,内训团队便承担起特殊的外部教练角色。

教练本身不会直接着手解决团队面临的问题,教练的主要职责是帮助团队自己解决问题,最终还是要依靠团队自身发力,取之于团队、用之于团队。知易行难,做好这一点呢?带着这些思考,我们落地了一场超越培训的训战


超越培训的训战模式

训战模式的核心思想是培训 + 实战,该模式需要统筹规划培训前、中、后三个阶段,做到训前瞄准、训中调整、训后复审,将单纯的培训变成一个有效的能力建设活动,实现价值闭环。

与传统培训方式不一样的是,我们在训前做得更加充分精确,为训中留有足够的时间和空间,实现课程快速迭代,最后结合至关重要的训后复审,通过行动来内化知识。该模式的核心指导原则是:跟团队保持紧密连接。基于这些创新的做法,辅以4个关键步骤来完成训战:

在培训前,深入团队,分析团队现状,准确定义问题,量身定制解决方案。在培训交付过程中,深度激发团队成员的思考和讨论来颠覆或加强他们固有的认知。最后,重点部署训战计划来促进团队的知识转换。

定义问题 - 深入团队

问卷或访谈的方式呈现出来的很可能是冰山上半部分的景观。为了探索下半部分,我在前期深入团队内部获取团队日常工作状态、技术栈选型以及人员的相关情况,并出了一个初步的分析报告:

基于分析报告,跟TL达成初步方案是上五抓手(OOTDDRefactoringClean CodeSimple Design)。虽然有五抓手这把枪,也不能乱开火,得弄清楚团队对这些实践的实际的落地情况。通过Code Review以及代码扫查,我果然收到了惊喜 – 代码库测试覆盖率高达90%,代码分层、模块化都不错(似乎已经做的很好了)。

代码库的良好状态离不开团队的对Clean Code的重视,再加上团队刚刚对原本代码量不多的代码库做了较大规模的重构。即便状况良好,团队依然非常渴望掌握工程技术实践的最佳姿势,尤其是TDD。

基于这些调研分析,我对问题域重新划重点:

  1. 团队成员Second Tier入职时间偏短,相关敏捷技术实践掌握深度不够,担心影响后期交付质量。
  2. 技术实践在后期Ramp-up保持最佳姿势一致性有难度,存在辜负客户期望、降低客户信任度、难以保持标杆形象的风险。

设计方案 - 量身定制

不难看出此次能力建设活动属于风险预防性质的。虽然没有太大的痛点,貌似锦上添花,但团队此时暴露了一个关键的信号 – 团队已经在尝试的过程中产生困惑,渴望得到解答,并通过实践掌握最佳姿势。该信号给了我一个方向:大量的实践机会和充分的思维碰撞将最大化训战的效果。基于此,我搬出了承载了五抓手的法宝OO Bootcamp,并一分为8,每周3次,每次晚上2~3小时,形成了非常6+1的两周拉锯战模式。

依赖于口口相传的OO Bootcamp在课件标准化上沉淀颇少,这也给了我充分的空间让我去设计训战方案,对于训的设计,我重点兼顾了两点:

  1. 定制化调整。针对团队的真实情况做适当的定制化,并做好在交付的过程响应变化的准备。
  2. 螺旋化共创。在课程中能够不断激发思考,试图让大家经历困惑、解惑、疑惑、再解惑的螺旋化过程。做到学员共创 Over 讲师讲解。

交付培训 - 认知转变

本环节的核心目标是:通过持续迭代的适应性调整,辅以螺旋化共创过程,来诱发认知转变。 要引发螺旋式的认知转变,最重要的一点是:放慢步伐,以学员讨论、答疑解惑为核心宗旨。因为参与这次训战的成员特殊性(TL & Second Tier),讨论的焦点主要被我引导向价值层面(Why),通过操作层面(How)的冲突来激发讨论,并在HowWhy之间螺旋交替冲击,最终回归到Why上,讨论重点围绕团队日常工作中面临的问题。

有意思是,当大家对价值层面理解达成一致后,在操作层面的最佳实践往往都是无果而终(By Experience),我们对最佳实践虽然未曾有明确的定义,经过这样频繁的思维碰撞,团队往往能找到一些方向。比如TDD,做Story的时候,第一步是从业务视角去做Tasking,将Tasking可视化作为一个DoD[1],严格根据Task来编写测试用例,做到测试先行,并通过Pair来刻意练习。

铺设好明线,我同时在辅线上做了一些必要的工作 – 跟团队做深入交流,了解他们当前面临的痛点,重新设计了案例,尝试抛出一些引子,引发团队成员共同思考。比如如何在后端MVC架构下做TDD。

部署计划 - 技能转换

我认为一场好的训战应该由体验反思抽象行动四个部分组成,相辅相成,并且能够形成一个闭环。在培训过程中,需求驱动、编码实践就是一种体验,在体验的过程中引发思考和讨论,最理想的情况下是学员自己能够从思考和讨论中抽象总结出结论,然后将结论付诸行动得以验证。

在文章一开始我就提到,能力建设最终要靠团队自身发力,主动权必须交还给团队,否则一旦教练离场,打回原形的风险很大。通过培训颠覆认知只完成了一半的工作,另一半的工作是将这些新的认知在实践中去验证。要打好下半场,就需要搬出核心法宝 – 训战计划

训战计划类似于一个计划,它具备三个重要特征:

  1. 符合SMART[2]原则,难度适中
  2. 跟项目工作内容息息相关
  3. 学员自己拟定并认可签字

作为教练,我协助团队成员去制定有效的训战计划。有了训战计划,就一定能够兑现吗?最理想情况下,团队成员的能够足够自我管理,并落实好计划。必要的时候,借助一些轻量的管理机制和有效的激励机制,比如,组建分队,队长责任制,并公开承诺,另外对计划完成后进行奖励等。

作为特殊的外部教练,我需要持续重点做的事情有:

  1. 培养团队内部教练,保证后期可持续发展。
  2. 训战计划执行期间,响应团队的诉求,帮助团队解决执行过程面临的阻碍。
  3. 定期回访,跟踪训战计划的落实情况,了解团队的困难,并记录团队的变化。

训战的核心要素

训战的复杂度远超越了培训,既要大处着眼,用全局的视角统筹训和战,也要小处着手,紧抓各个环节,尤其是训战计划的落地跟踪。一场优秀的训战,除了方案设计、课程内容和呈现形式上的创新,还需要借助团队管理和激励的手段。综合来看,决定训战成功与否的几大核心要素有:

  1. 一致的期望
  2. 专业的培训
  3. 承诺的计划
  4. 严格的跟踪

一致的期望

在训前方案设计阶段,一项至关重要的举措是吹响战斗的号角。跟Stakeholder和团队成员对训战模式的期望达成一致 – 不仅仅是一场讲完就散的培训课程。对于学员,要做出源于追求卓越的自我Commitment。对于Stakeholder,后期需要持续投入资源来促成训战计划落地,比如识别潜在内部教练,提供道场支援等。

专业的培训

授课讲师需要对领域知识具备一定的深度,深刻理解正、反模式的利弊,拥有丰富的实战经验。同时对于培训引导能力也提出了较高的要求,提倡推行以学员为中心的共创式教学。另外,还需要具备对实时反馈的响应力,能够快速调整优化设计。

承诺的计划

学员基于培训的内容,并结合实际项目中遇到的问题,亲自挂帅拟定恰当可行的训战计划,并立下"军令状",最终做出公开承诺已告示"天下",若能借助管理激励机制形成彼此轻量的竞争态势会取得不一样的效果。

严格的跟踪

训战的效果取决于训战计划是否合理且能否有效执行落地,后期严格的跟踪显得尤为关键。首先,在团队内部培养教练,来帮助成员解决执行过程中遇到的问题,同时敦促他人的计划向前推进。其次,在流程管理和奖惩机制上,Stakeholder的关注、牵动人心的激励以及恰当的惩罚技巧都是影响跟踪效果的因素。至于如何操作,团队因地制宜即可,推荐正向激励。


写在最后

训前瞄准、训中调整、训后复审 这种基于Account的训战模式,通过4个看似很平凡的关键步骤,最终围绕训战计划来促进行动学习,帮助团队将知识转换成技能,有效地实现价值闭环。

在ThoughtWorks,存在一支这样的专业内训队伍,他们的理念是:训战是为了颠覆认知,将知识转化为技能,从而解决实际问题,而不只是Know Unknown

在ThoughtWorks,需要更多类似的本次活动的团队,他们积极参与、积极思考、积极实践、积极分享,在追求卓越的道路上永不止步。规模化道路上的技术卓越,离不开每一位ThoughtWorker的努力,愿以此与君共勉!


注释

  1. DoD, Definition of Done
  2. SMART
    • Specific
    • Measurable
    • Attainable
    • Relevant
    • Time-bound


期待与你交流,我的联系方式:邮箱 | 微信

Posted by 袁慎建@ThoughtWorks • January 5th, 2019

版权声明:自由转载•非商用•非衍生•保持署名 | Creative Commons BY-NC-ND 4.0

原文链接:https://sjyuan.cc/beyond-training/
支持原创
⤧  Next post 在ThoughWorks,你应该知道的Feedback ⤧  Previous post 聊聊面向对象设计中的Is-A