肯·施瓦伯,Scrum之父:敏捷是适者生存的进化(图灵访谈)
我偶然看到一次对 肯·施瓦伯(Scrum之父)在中国由图灵组织的访谈。我认为这可能也适用于大多数与中国的(或亚洲国家)是否适合实施Scrum相关的亚洲人。以下是英文翻译:
肯·施瓦伯是敏捷软件开发运动的领导者之一。他同时也是一名开发者、产品经理和行业顾问。肯与杰夫·萨瑟兰(Scrum波士顿CEO)共同创立了Scrum开发方法的初始版本,并在1995年OOPSLA年会上首次正式提交了Scrum方法。施瓦伯和萨瑟兰是敏捷宣言的最初签署人之一,也是权威的《Scrum指南》的作者。如今,施瓦伯负责Scrum.org,该机构为“Scrum大师”、“Scrum开发人员”、“Scrum产品负责人”以及使用Scrum的组织提供Scrum资源、培训、评估和认证。
图灵社区:您最初构建Scrum的动机是什么?Scrum?
施瓦伯:因为Scrum有效。当时我的公司正忙于交付一款高端产品,该产品市场火热,需要不断调整。如果我们采用长期开发周期,公司将会破产。因此我们设计了Scrum,使我们实现了涅槃重生。
图灵社区:您认为在中国推广Scrum是否存在文化障碍?
施瓦伯:并不比其他文化更难。一个文化能否接受并运用Scrum的关键在于对可预测性的信心程度。
那些在文化中理解并接受可预测性的人会相信自己能够预测未来。他们工作的目的就是通过人力和资源,使未来成为现实。
使用Scrum的人持有这种观点,而软件开发的复杂性和创造性是不可预测的。结果是灾难性的:糟糕的软件、无法跟上进度、资金浪费、员工士气低落。因此他们明白,最重要的是预测真实的需求,让员工认识到这一点,然后尽一切努力帮助人们实现这一目标。Scrum之路的核心是‘有事可做’,抓住机遇,避开障碍,实现敏捷。
图灵社区:人们经常抱怨放弃瀑布模型的困难。您认为有必要将敏捷与瀑布模型结合吗?为什么?如果可能的话,该如何实现?
施瓦伯:这两种模型适用于两种截然不同的情况。
对于瀑布模型,我们预测要构建什么、如何构建,制定计划,然后按进度执行。关键在于明确期望的准确性,并确保有效沟通,直到产品最终成型。如果沟通链完美且无需更改,这样做是可行的。
Scrum的假设是沟通存在缺陷,而变化是永恒的。在不超过30天的短时间内,人们构建他们认为最终想要的东西。在周期结束时进行检查。根据结果与需求之间的契合程度,我们必须为下一个周期制定计划。这是一个持续的反馈循环,根据检查结果和需求变化不断调整。
有些人尝试将两种方法结合,结果令人失望且毫无意义。最好还是分开。
图灵社区:公司如何判断Scrum是否适合他们的业务和产品?
施瓦伯:Scrum几乎不适合那些因不恰当的瀑布模型而长期承受压力的软件公司,这些公司过去30年来一直使用缺乏创新的技术。
Scrum确实适合某些企业文化,它模仿年度销售周期,将年度预测转化为月度预测,然后检查结果并做出相应调整。
大多数公司对其软件开发部门并不满意,因为浪费、失败和低质量并不少见。那些极度绝望或有洞察力的人会尝试转向敏捷(Scrum),这是一种更能反映公司其他部门运作方式的更合适方法。
图灵社区:在现实开发中,有些公司痴迷于僵化的流程,不会根据自身环境调整这些方法。您如何看待这些公司?您有什么建议吗?
施瓦伯:软件的快速开发已成为公司生存的关键,不仅体现在公司的运作方式上,也体现在其产品中嵌入的软件上。那些不进化、在软件和产品开发中不采用敏捷方法的公司,无法竞争和生存。
我的建议是,敏捷是适者生存的进化。
图灵社区:产品负责人责任重大,有时会成为整个团队的瓶颈。如何解决这个问题?
施瓦伯:这个问题确实存在,所以我们必须解决它。解决这个问题的方法有很多,包括为团队增加更多的领域知识。如果团队缺乏领域知识,那么产品负责人也就失去了意义,我猜整个开发过程将放缓,直到问题解决。否则,你只能等到发布一个糟糕的产品。
图灵社区:番茄工作法是一种提升个人效率的方法。你可以在敏捷(Scrum)中使用番茄工作法吗?
施瓦伯:如果你愿意,敏捷(Scrum)是一个可以嵌入番茄工作法的框架。然而,不加调整地盲目应用任何技术都是有害的。
图灵社区:如何控制和管理技术负债?
施瓦伯:在编写每个功能时,假设你将终身维护和改进这个功能。即使你面对的是一个烂到骨子里的旧程序,也要动手去做。否则,用于维护和支撑旧产品的开发预算,将会吞噬所有新工作的成本。
图灵社区:您认为敏捷方法是否过度强调了YAGNI(你不会需要它)?这是否会忽视长期目标?
施瓦伯:敏捷方法并不包含YAGNI。但敏捷确实需要清理不必要的东西。例如,当已有记录文档时,为何还要与他人沟通,而不是直接对话?无论如何,维护产品所需的文档应在每个周期中持续演进。做有用且必要的事,剔除所有其他无关内容。
图灵社区:有些人认为敏捷方法正在走下坡路。您认为为什么会有人有这样的声音?您的看法是什么?
施瓦伯:我曾听到有人问,敏捷是一种潮流吗?我认为敏捷是一套价值观和原则。虽然敏捷是Scrum的基础,但Scrum建立在专注、勇气、开放、承诺以及对这些价值观之上。
价值观本身并不是潮流。在我看来,那些遵循这些价值观和原则的人将成为潮流,他们的方法远远超越其他方法或潮流。
图灵社区:你如何看待敏捷阵营?你认为他们之间存在冲突和矛盾吗?他们的差异来自哪里?
施瓦伯:敏捷和Scrum是非常非常简单的方法。差异和冲突来自于那些希望通过制造工具、方法,以及基于敏捷理念创造新方法来赚钱的机构。一旦金钱进入这个方程的一端,冲突就会产生。这些冲突并非不可避免。用你的眼睛去选择对你有用的方法,不断测试并持续改进。