HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

章显洲谈敏捷教练的个人修养

  • 2012-01-06
  • 本文字数:3496 字

    阅读完需:约 11 分钟

章显洲,阿里巴巴 B2B 项目经理,一直在.Com 硝烟弥漫的战场上扑腾奔跑,敏捷方法实践者,业余敏捷教练,《精益软件开发艺术》、《微软的秘密》、《软件架构师应该知道的 97 件事》中文译者。在 2011QCon 杭州大会上的演讲主题为“吸纳敏捷方法——提升互联网开发的竞争优势”,演讲主要从互联网系统的产品特性、产品研发团队的结构特性、导入和实施敏捷开发中的 Bad Smell 与重构方法、团队构建和关键实施策略等方面,与参会者分享了他本人的思考和探索。

演讲结束后,章显洲接受了 InfoQ 中文站的专访。

InfoQ:你好,章显洲,感谢接受 Qcon 的文字采访。能否先介绍一下你自己和你在 Qcon 杭州的演讲。

章显洲:大家好,我是章显洲,来自阿里巴巴 B2B 公司,在公司主要从事系统分析和项目管理的工作,忙碌之余也在公司内进行一些敏捷实践培训和团队引导方面的工作。前些年利用业余时间翻译了几本书:《精益软件开发艺术》、《微软的秘密》、《软件架构师应该知道的 97 件事》。技术翻译是我个人修炼的一种方法。同时我也认为个体要积极贡献于社区的成长,而技术翻译是一种不错的途径。今年我仍然会向社区贡献两本敏捷相关的书籍,一本是 David J. Anderson 的《看板》,另外一本是 Robert C. Martin 的《The Clean Coder》,分别是和“变革管理与持续改善”和“软件技艺”主题相关。

我这次在 QCon 杭州上的演讲是关于吸纳敏捷方法,将之和互联网系统开发运维结合起来的一个学习进阶模型。

在来阿里巴巴之前,我有近五年的企业软件开发和系统设计经历,近 6 年来一直在互联网领域进行业务系统分析、项目管理、团队辅导等方面的工作。这两个领域背景中,我都曾在其中实践过敏捷开发方法,感觉其中虽有不小差异,但我也发现其中有很多共同的疑惑、误区、问题和有效实践。越是往下的接近低层的要素,就越是有相似之处。我这次讲的内容是比较低层的,关于个体、团队、组织转向或者说实践敏捷方法的学习进阶模型。

当然,因为近些年来,互联网软件开发已经是软件开发的主流,我自身这六年来也主要在互联网开发领域工作,所以我在演讲的第一部分主要阐述的还是大型互联网系统的特性、互联网系统开发和运营所面临的挑战,以及为了迎接挑战并获得竞争优势,互联网研发团队所需要具备的核心能力。

我很简单的将这种能力分为“硬”能力和“软”能力。“硬”能力主要是指各项技术能力,这些硬能力当然很重要。但是“软”能力,也就是组织学习能力,我认为是更重要的。而要在软件开发组织和互联网公司中成功导入敏捷方法,并真正从中获得竞争优势,组织学习能力我觉得是根本性的。组织学习能力强,更有可能成功掌握和应用敏捷方法,将之作为自身一种锐利的武器。而存在机能障碍的组织,则往往因学习能力低下,对市场竞争和环境变化感到力不从心。

我在第二部分,简单说明了在剧烈变化环境下竞争的互联网行业中可能存在的最为典型的两种组织机能障碍,也可以说是两种典型的反模式,一是“过多层次型官僚结构”,一是“精密流程主义”。这种过程和组织结构设计,无视复杂软件开发和互联网商业竞争的特征,其典型的思维方式是把软件开发和工厂生产产品进行类比,把“人”作为生产流水线上的“机器”看待,期图以⼀种设计“精密”的流程来消除“人件(Peopleware)”因素。

对这种反模式的重构方向,便是“开放、扁平型的自组织结构”和“持续改善、演化发展的协作过程”改造。当然,这是一个比较复杂的过程,但我认为这也正是互联网本身的核心精神所在。

在这个复杂过程中,无论是个体、团队级别还整个组织级别,我认为都无法超越“守、破、离”的三个阶段。这是一个三层进阶模式。“守、破、离”是日本合气道的修习心法,更早的历史可以推到日本能剧的传授方法,但是细心之下,我们可以发现一条脉络,禅修在日本文化中具有一种普泛性的启迪意义。

我因个人爱好,平时闲暇时间对中国禅宗等也偶有涉猎,偶然一次机会,接触到宋朝廓庵禅师的《十牛图颂》,忽然感觉找到一种更为精细化的学习进阶模式。当然,“禅”这个东西比较深奥,我也并未曾深入体证。但是我感觉《十牛图颂》对我们思考学习和掌握技艺还是很有启发意义的。

这次 QCon 大会在杭州召开,杭州自古以来出了不少著名的禅僧,在《五灯会元》中常常可见其高风,可以说杭州这个地方和“禅”是很有渊源也很有缘份的,而且今年也恰逢《敏捷宣言》发布十周年,我就借《十牛图颂》这个引子,分享了下我在个人学习以及在团队辅导中体会到的一种更为精细化的学习进阶模式,也截取出了一些案例情境,作为对各个不同进阶阶段的附例。

演讲最后给出的是下面这样一幅“敏捷修炼空间”,其实也是一个简单的三维坐标系,X 轴就是《十牛图颂》中描述的 10 层进阶;Y 轴是各项敏捷实践,或曰各项敏捷“功夫”;Z 轴是敏捷修炼的主体,可以简单划分为个体、团队、组织三个截面。

当然,正如我在结尾处给出的发生在卡耐基音乐厅的一场对话中所揭示的,对于掌握敏捷方法并从中获得竞争优势而言,持续实践不断反思体悟,是最重要最根本的。而如《十牛图颂》最后一偈“入廛垂手”所传递的,学习者、实践者要回到整个社区中。以组织或社区共同学习修炼的方式,是最为快速、高效、深刻的。反观敏捷十年发展,自“雪鸟聚会“以来,也正是这种社区的巨大力量,在推动着软件开发和敏捷方法的发展演化。

InfoQ:你在演讲中说到了“十牛图”,非常新颖,能否给我们介绍一下你是如何使用“十牛图”帮助团队不断改进的?

章:《十牛图颂》来自我国宋朝时期,可以说是已经颇有历史的了。但是,确实仍然对我们现在学习技艺进行各项修炼都颇有启迪意义。我在这次演讲中使用《十牛图颂》,一方面可以说是想让我的演讲显得有趣味些,另一方面,我也想传递一种比“守破离”三阶模式更为细腻因而也更容易供实践者参照的学习进阶地图。

有一个很有趣的结构会涌现,在对这个模型本身进行学习和应用时,也需要遵循它自身所揭示的。这是一个很美的结构。在帮助团队改进时,要注意的一个要点是尽可能避免提及《十牛图》或者说“禅”这样容易招致团队成员误会的玄虚名词。而是要突破这些文字相,把握其中不断提升的 10 层境界的要义,来帮助团队明白我们当前在掌握某项技术或实践的过程中所处的位置。但是,如果是要辅导敏捷教练或团队引导者,不妨可以直接以这个故事作为譬喻,来帮助辅导对象更直观理解这个进阶模型。也就是说,“入”是为了理解学习,“出”才便于应用。不可拘泥。

InfoQ:你认为在团队不断改进的过程中,敏捷教练扮演了一个什么样的角色?

章:敏捷教练在团队持续改进的过程中,我认为扮演的主要是一个引导者的角色。他可以以引导的方式,向团队成员适机引介一些切合的技术、实践,或者引导团队进行深入的思考和自我诊断剖析,从而引导团队自身自组织的涌现出改善行为,并成为一种团队意识和习惯。这时可以说他已经成功完成了引导者的职责。

敏捷教练本身要能够掌握 Kent Beck 所提及的“欣赏式探询”技术,并引导团队学习和掌握“欣赏式探询”。这样的团队变得开放、乐观、善于学习和应用更有效的技术,成为真正的具备持续改善文化的团队。

InfoQ:敏捷教练如何保持自己的不断提升?

章:我认为敏捷教练应该首先了解这项工作的特性、对自身特质的要求。具备开放、好奇、乐观等心态我觉得很重要。另外,阅读、实践修炼、自我辅导、参加社区、实际辅导团队、多观察各种不同环境的团队和通过案例学习等,都是能够保持自身不断提升的途径。还是那句话,“Practice,Practice,Practice”。

InfoQ:在团队建设的过程中,如何获得外部信任,以支持团队更好地改善?

章:外部信任,可以认为是一种社会资本。在团队建设中,敏捷教练要帮助团队理清:团队要交付的核心业务价值是什么?客户是谁?Sponsors 是哪些人?和团队互动协作的上下游是哪些组织或个人?每一方的关注焦点是什么?我们的职责和使命是什么?

一般而言,作为软件开发团队,持续、稳定地交付高质量的软件,具备快速响应能力,能够获得很好的外部信任。所以,敏捷教练要引导团队建立流畅的协作结构,建立稳定的开发节奏和持续交付的流,关注质量,关注解决团队的障碍和瓶颈,保持一定的团队产能裕量用于思考、学习和改善,这时像站立晨会、回顾会、看板、持续集成等便可以助力。简而言之,引导团队在认知上具备系统全局观,在表现上体现专业能力,能够更好的获得外部信任。

欢迎大家与章显洲交流。可以通过电子邮箱 myagileway@gmail.com 联系。也可以关注其新浪微博:@章显洲 -Arthur 。


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-01-06 00:002635
用户头像

发布了 24 篇内容, 共 49608 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

B端产品经理养成记(1):业务场景

涛哥 数字产品和业务架构

产品经理 需求 产品开发

做PO难,难于上青天

刘华Kenneth

敏捷 产品经理 决策 PO

ARTS打卡第一周5.25-5.31

我笔盒呢

时代在变,产品运营能力很重要

punkboy

程序员 程序人生 产品经理 产品推荐 程序媛

愚蠢写作术(1):怎么让你的标题被读者忽视

史方远

个人成长 写作

Apache DolphinScheduler新特性与Roadmap路线

代立冬

大数据 数据中台 工作流调度 海豚调度 数据湖调度

draw.io-取代visio的流程图绘制工具

Rice嵌入式开发技术分享

chrome vscode 写文章神器 draw.io

B端产品经理养成记(2):用户故事

涛哥 数字产品和业务架构

产品经理 需求 产品开发

ARTS打卡Week 02

teoking

objective-c LeetCode WebRTC

转行程序员浅谈进程间的socket通信

WB

Linux 程序员 socket

使用Kotlin语言初始化数组

mengxn

数组 kotlin 初始化

工作 vs 生活

shengjk1

如何用CSS选择符(数字开头) 杀死队友

德育处主任

Java html css3 大前端 Web

ARTS week 2

刘昱

ARTS Week1

姜海天

RocketMQ - 如何实现事务消息

Java收录阁

RocketMQ

不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...

JackTian

GitHub 学习 开源 程序员 编码

【openlayers】在vue中使用ol

德育处主任

Java html Vue 地图 openlayers

【5月】本月读书学到了什么

Neco.W

创业 读书感悟 阅读量

钢铁侠马斯克之仰望星空

池建强

创业 马斯克 Space X

John 易筋 ARTS打卡Week 02

John(易筋)

ARTS 打卡计划 ARTS活动 arts

工厂模式(四)泛型工厂之MyBatis Mapper代理

LSJ

Java 设计模式 泛型 工厂注册中心

游戏夜读 | 关于构图的困难

game1night

写博客的那些事

shengjk1

ARTS week2

紫枫

ARTS 打卡计划

RocketMQ - 高可用设计

Java收录阁

RocketMQ

Kafka系列9:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(上)

z小赵

大数据 kafka 实时计算

MAC OS 下 HomeBrew 使用

耳东@Erdong

macos brew homebrew

Element-UI实战系列:Table+Pagination组件实现已选和全选功能

AR7

Vue 大前端 Element

【ARTS打卡】Week01

Rex

学习

你会写测试用例吗

章显洲谈敏捷教练的个人修养_QCon_鲍央舟_InfoQ精选文章