• Csp-train
  • A-csm-2019
  • Scrum@scale201908
  • Shine-scrum-02
  • Arne-201903
  • Jim-banner
  • Cal
  • Inner-training
  • Growth-process
  • Jens-heart-of-scrum
敏捷Scrum理念的背后—写给机械制造行业同仁(上篇)

敏捷Scrum理念的背后—写给机械制造行业同仁(上篇)

原创: Sven Fang 房世庆  ShineScrum捷行 

 作者 : Sven Fang 房世庆



化解方法
日趋残酷的市场竞争使机械制造行业面临着更快的产品更新、严苛的成本及质量管控等挑战,很多企业已经开始审视自身“习以为常”的传统模式,接触敏捷Scrum并在产品开发中尝试使用。
 
基于敏捷理念的Scrum, 作为一个开发和维护复杂产品的框架,以解决产品开发中遇到的不确定性、复杂性等问题, 使用迭代、增量等手段以适应变化和控制风险,使开发过程变得更灵活、敏捷,提高客户满意度。它最初是在软件行业得到推广和应用,目前已经在该行业逐步替代传统的瀑布式开发模式成为主流。
 

笔者作为一名机械制造业的从业者,在此试图简单介绍敏捷Scrum,并分享一些笔者对关于Scrum理念的理解,希望能对行业中为改变现状,苦苦寻找解决思路的同仁有点帮助,并一起探讨如何向其他行业先行者学习。


同样的困扰
如今的机械制造业面临着和当年软件行业一样的挑战。 和硬件及机械制造业类似,软件业在敏捷理念出现前一直遵循着以过程控制为核心,以预测性为原则,以文档驱动开发过程的所谓“瀑布式”开发模式。产品开发从一个力求完善的,滴水不漏的需求计划开始,然后启动设计和编写代码。在各模块完成后集成测试,最后交付。计划变更意味着不可估量的损失。困扰软件开发的是:在长时间和客户讨论确定后的需求细节和计划,往往在项目开始以后被无可避免的原因更改。在研发部门两手一摊后,项目延期报告或厚厚的项目更改费用账单在客户和公司之间来回飞舞。在各部门相互抱怨声中,公司市场部门,客户销售部门以及项目管理一般都尝过当背锅侠的滋味。
 
在20世纪末21世纪初开始,以迭代和增量开发为特征的开发模式逐渐被大的软件公司如 Yahoo!, Microsoft, Google接受和成功实施,从此各欧美公司逐步引入这种敏捷Scrum框架来开发软件产品。这种基于“探索”的开发模式采用持续的检视和随之适应的方式来优化目标的实现,它将产品开发分成多个迭代,尽早交付,尽早获得市场反馈,产品开发的范围、成本、时间保持了一个平衡的状态,在市场竞争中用有限的资源创造了最大化的投资回报。
 

其实,敏捷的理念与机械制造行业熟知的“精益生产”思想有着很深的渊源,遗憾的是,我们没有像软件业那样,把它彻底贯穿到整个产品开发过程中。我们沉浸在传统的仪式里,自诩“正统稳重”,“百年工匠”,鄙视其他行业尤其是IT行业的“浮躁”和“善变”,在其提供给市场的那些毫无生气的机械产品背后是满身百年铁锈的组织和更“机械”的根深蒂固思维。


目前绝大部分机械制造业的产品仍停留在“瀑布式”开发模式,根本无法面对越来越快的市场需求变化,产品开发的周期和价值强差人意。不少机械行业的企业早已意识到并积极地在产品开发中运用敏捷理念,甚至在做“敏捷”组织架构的尝试,但是遇到的阻力可想而知。


什么是敏捷
敏捷(Agile)可以被理解为一种产品开发的方法论或理念, 由四种价值观和十二项原则指导, 强调与客户的以及团队内部成员之间的持续沟通,在不断变化的需求下的灵活性,以及产品的可交付性。敏捷方法通过多次迭代以增量方式开发产品。实际上,它的精髓是一个面对不断变化的世界,如何创造性工作以获取最大成功的方法论,承认并拥抱事物的不确定性,承认我们已有知识的局限性并坦然面对,积极适应调整自己。这里重复敏捷的四个价值观:
 
个体与交流 重于 过程和工具
可用的软件 重于 完备的文档
客户协作 重于 合同谈判
响应变化 重于 遵循计划
 
从这四个价值观中可以看到在我们机械行业也经常挂在嘴边或写在墙上的“企业文化”: 面向客户、尊重、透明沟通等等。但它们鲜有落地。Scrum 提供了一个落地实施的方式。

什么是Scrum?
在敏捷理念下包括众多的方法和实践,如XP (Extreme Programming), Crystal, DSDM (Dynamic System Development Method),Scrum 等等。其中 Scrum已被证明是基于该理念解决复杂的不断变化的问题的最流行框架, 为这些抽象的敏捷原则提供了实用性。Scrum是以有成效和创造性地交付具有尽可能高价值的产品为目的。Scrum不是构建产品的一种流程或是一种技术,相反,它是一个框架,你可以在其中使用各种过程和技术。Scrum明确了产品管理和开发实践的相对效能,以使你可以不断改进它们。[Schwaber & Sutherland, 2011]。积极实践是Scrum的基础,根据实践得到的新的知识和信息,快速及时反馈并修正行动。在二十多年的软件产品开发实践中验证了它的有效性。这里我们重复下Scrum的价值观:
 
承诺  愿意对目标做出承诺
专注  把你的心思和能力都用到你承诺的工作上去
开放 Scrum把项目中的一切开放给每个人
尊重 每个人都有他独特的背景和经验
勇气 有勇气做出承诺,履行承诺,改进自己,接受变革
 
Scrum 一般的实际操作框架是组建一个或多个跨职能小团队,在开发项目启动后,根据客户需求或愿景分解成若干产品需求,并根据其商业价值对其进行优先级排序,把开发周期分割成若干个小的迭代周期(1-4周不等),一个或多个跨职能团队在多个迭代过程中持续地交付递增的可用功能。在交付过程中完成持续的集成和持续的改善。它强调的是对产品和过程进行持续的检视与调整。

在Scrum的工作框架中定义了3个角色:
-产品负责人 (Product Owner)
-Scrum Master
-Scrum 开发团队

定义的5个仪式是:
-产品待办事项(Product Backlog)的梳理会议
-每个小周期(Sprint)的计划会议(Sprint Planning)
-每日站会(Daily Scrum)
-Sprint评审会议(Sprint Review)
-回顾会议(Sprint Retrospective)

定义的3个核心工件是:
-产品待办事项列表 (Product Backlog)
-小周期的待办事项列表(Sprint Backlog)
-产品增量 (Product Increment)
 
在Scrum框架中对各角色职责有清晰的定义,对仪式的举行,组织和内容有明确的说明和解释,详细内容可参见 Scrum指南 [Jeff Sutherland, Ken Schwaber, 2017]。
Scrum框架 [Deemer et al. 2010]

Scrum的背后
前面简单介绍了Scrum的价值观和它的实际操作框架,笔者认为,Scrum背后几个基本的理念精髓我们必须深刻理解,它们是Scrum赖以实施的前提,同时也是实施Scrum后的成果。


有机的团队和“军人”般的个人

人类由于面临复杂生存环境,个体为了生存发展,应对外部冲突,都自然地与其他个体形成团队组织,为共同的利益(如生存和繁衍)形成内部的分工与协作,组织形式大到国家小到家庭单元。人类的发展史也可以映射出组织的演绎。对人类来说,一个极端的冲突现象是战争,因此我们可以发现,商业团队组织模式往往有军队的影子。
 
目前工业界传统的组织模式可以说是从泰勒的“科学管理”理论而来,而该组织理念和形式你可以在那之前众多的军队和战役中找到原型。 现代战争的复杂性和瞬息万变绝非和以往战争同日而语,也相应地在军队和战争中催生了新的组织形式和理念。这也就不奇怪,敏捷理念提出者和倡导者中有军队或现代战争参战背景,他们对团队的组织、协调、合作以及个体素质有比我们更刻骨铭心的洞察和理解。如现代战争中类似,一个理想的团队是一个有机体[General Stanley McChrystal et al. 2015],有自学习适应,自调整,整体意识等特点,所谓“有机”也意味着个体之间无法分割,你中有我,我中有你,对外界变化能产生敏捷的适应性反应。这样的“有机团队”是Scrum 发挥其最大效果的关键,如果该框架能够有效运用实施,会造就很多这样的有机的团队,是一个公司的无形资产。
 

在Scrum中其实对“人”的观念与基于泰勒理论的传统组织中的“人”的观念有很大不同。传统组织把“人”看作如机器零件一般的, 具有单一功能的资源,而不是具有学习和适应性的个体。 传统的观念其实出自我们人类与生俱来的根深蒂固的思维习惯:视万物为实有,有其固有的特性,并且不会改变。我们愿意固化一个事物,把它放到一个概念中,本能地认为,或本能地不愿看到事物的其他可能。把“人”看成“固定不变”的观点,在环境变化不大或变化缓慢的情况下,或是可预见的简单过程中,是可行的。但是在现代环境,会发现它的问题,会带来痛苦。请回想一下,我们日常生活中人与人的关系,由于我们无意识地认为我们的朋友和恋人不会变化,关系会久远,所以每每朋友和恋人的远离都给我们带来失落。


如果不把对 “人”的认识从机械的,一厢情愿的,傲慢的偏见转变过来,Scrum无法真正在组织中启动起来。
 
传统的“人”的观念,在组织里只使用少数人(经理们)的大脑,闲置大部分人的大脑。而Scrum是尽可能地利用了大部分人的大脑。Scrum 认为组织里的个体是这样的:如果给予适当的机会是愿意承担责任,每个人都是有想象力,创造力的[Craig Larman & Bas Vodde, 2016]。Scrum框架的设计是基于这个假设。
 
Scrum其实也对个体做了期望,我们在前面提到的Scrum的价值观:承诺,专注,开放,尊重,勇气,很容易联想到一个现代军人的形象(当然,我们心目中军人的优点还要多)。如果要笔者形容Scrum的价值观(Jim老师的课堂上,有这个练习),我第一个从脑海中涌现的是一群各路英雄组成的“兄弟连”。
 

Scrum框架提倡跨职能团队,透明开放的环境以及高频次交流极其有利于造就这样的团队。Scrum定义的Scrum Master 的角色任务之一也是帮助提高团队的合作精神。 笔者的观点,这些还是很不够。个体素质差异;一个公司的价值文化;利益分配导向;甚至公司所在的大文化传统背景都影响了这个美好愿景的实现。 这也是为什么Scrum在不少公司实施后效果差异大,或是在同一跨国公司推行,国内外团队效果完全不同。


沟通
开放透明并及时的沟通是Scrum所追求的重要理念。目前各企业都明白沟通的重要性,也都尝尽沟通不畅,不及时的苦果,但并不愿意为沟通付出时间和提供环境。“开放”的机制更是“要不得”,这会毁了不少个体或阶层的饭碗或高薪。Scrum框架中强调的5个仪式以及任务分解等的目的之一就是保障沟通的及时,开放透明。并为此宁愿付出在时间上的投资。


适应性调整,持续改进

传统的开发大多基于预定义过程控制,从全部的需求和详细的计划入手,按预设可重复的过程进行开发,这较适合过程简单,不确定性小的开发项目。目前软件行业市场的变化节奏蔓延到硬件和机械制造行业,开发中不确定干扰因素增加,甚至是开发的目标都可能发生变化。如何及早发现变化,及早调整以减少时间上和物资上的浪费决定了项目的成败。Scrum 框架是一个“探索过程控制”,它被理解为Scrum核心原则之一,通过迭代增量较容易实现开发过程中持续的检视和适应性调整。为了给实践留出空间,甚至Scrum 框架本身就不完整,许多问题没有给出明确答案。它不能满足那些寻求公式化答案或寻求表面上安全且严谨的方法的人,其实这些方法通过定义的过程会给人一种舒适但错误的幻觉---控制是可预测的 [Craig Larman and Bas Vodde, 2016]。Scrum的倡导者们也承认,在产品开发中没有最佳实践,而只有在特定环境中最合适的实践。在制造业实施Scrum 应该秉承这个核心理念,切忌机械套用Scrum的一切。其实在制造业,组建一个跨职能团队就是一件很有挑战性的事,我们必须结合本企业自身情况做些调整和平衡。


客户导向

客户导向实际上是关注产品的商业价值,这在Scrum有两方面体现,一是通过迭代增量交付可工作的产品,以观察客户或市场反应,Scrum强调:每个迭代后,获得的必须是可用的产品,而不是一个完成的组件; 二是在开发过程中强调客户参与。简单的说是避免“闭门造车”。这个理念在众多的管理理念中都有体现。和软件业比较,硬件和制造业中更不容易实现。


总结

日益激烈的市场竞争对企业的产品开发带来了越来越多的挑战。机械行业完全可以借鉴软件行业应用敏捷scrum的成功经验。少数行业内企业已经采用并获得了成绩,但要真正在机械行业内成功应用,传统理念的改变是关键,而要改变理念,必须改变机制。没有机制保证,笔者认为敏捷Scrum给行业带来的益处是有限的。对管理者来说,采用Scrum 是需要勇气的(Scrum价值观),但这远远不够,要做好牺牲的准备。


参考文献

 1. Jeff Sutherland and Ken Schwaber。 2017. “The Scrum Guide.”
Available from www.scrum.org.
2. Craig Larman and Bas Vodde. 2016.Large-Scale Scrum: More with LeSS
大规模Scrum 大规模敏捷组织的设计. 肖冰 译. 2018.
3. General Stanley McChrystal et al. 2015. Team of Teams: New Rules of Engagement for a Complex World.
4. Deemer, P., Benefield, G., Larman, C. & Vodde, B. 2012 The Scrum Primer 2.0. Available from: http://assets.scrumfoundation.com/downloads/1/scrumprimer20.pdf?1352449266 [Accessed 25 July 2013].

本文作者:Sven Fang房世庆
文章审核:Jim Wang王军