今天的敏捷大会上,InfoQ 的老作者何勉同学对看板创始人 David J Anderson 进行了一次采访(何勉同学现在正在进行的文章系列《解析精益产品开发》就是有关看板的)。何勉同学洋洋洒洒准备了十六七个问题,问答持续了一个多小时,内容量很大,先新鲜捡几块跟大家分享一下。
何勉同学问 David,很多敏捷方法基于一个假设,即参与者有自我管理的能力;即使他们一开始没有,最终的目标是让所有的团队成员具备自我管理的能力,问 David 对这个假设怎么看。David 觉得,这个假设太理想主义了。自我管理能力的思想,源于上世纪末在美国展开的一种自由主义思潮。事实上,这种自由主义思潮在美国也仅仅在为数不多的几个州流行了起来。很多情况下,人们并不希望自己处于完全自主的状态,他们心里希望有一个人去领导他们,因为他们不习惯那种全权负责的状态。所以要引入任何变化,还是要用更加实际的做法。
当然,软件开发毕竟跟制造业的工厂不一样,因为软件开发人员是知识型工人。在以前的制造业,有管理人员、流程工程师、工人这三种角色,流程工程师负责确立流程,管理人员负责让工人不出差错的执行流程,而工人则没有任何决策权。而对于知识型工人而言,编写任何一行代码都是一个做决策的过程:如果写的代码不好,不仅会影响直接交付产品的质量,也会影响到后续很长时间内的维护工作量。所以,工人和管理的角色混合了,而现在的软件开发中,很重要的一点就是培养工程师的管理能力。
在说到为团队中引入变化遇到的阻力该如何解决这个问题上,David 提到了李小龙。李小龙因为拍功夫片而闻名天下,但很多人都会忽略他实际上是一位哲学家。李小龙在大学的专业是哲学,他有一本著作叫做《Be like water》,书中的一章描述河水与石头的关系。河水前行的道中有一个石头,水并不会对石头用蛮力把它清除,而是绕着走;而时过境迁,石头虽然没有消失,但是在河水的冲击下越来越平滑,河水的流动路线越来越趋向于最短直线的路径。人拒绝变化是一种本能,想让它消失是不现实的,先绕行,再慢慢磨平,才是实际的做法。
最后来点背景介绍,摘抄自《解析精益产品开发》系列第一篇:
Mary Poppendieck 是精益软件开发的早期推动者,她的思想在敏捷软件开发社区被广泛引用,2003 年到 2010 年,Mary 和他的丈夫 Tom Poppendieck 先后在三本书中总结了这些思想,并提出了操作建议。Don Reinertsen 致力揭示产品开发流的本质,并提出相匹配的原则方法。在 2010 年出版的“The Principles of Product Development Flow”一书中,Don 提炼了精益产品开发的 175 条原则,这可能是迄今为止对产品开发最本质和深入全面的阐述。但面对 175 条原则,从哪里开始是一个问题。
2006 年在 Don Reinertsen 的启发和鼓励下,David J. Anderson 最早在软件开发中应用看板实践,其后不断完善,形成了看板开发方法,这是精益产品开发走向适用和普及的重要里程碑。看板的推广速度超过任何其它敏捷开发方法,Version one 的调查报告显示看板是增长最快的敏捷实践,2011 年使用了看板的敏捷团队占 24%,2010 年这个数据是 18%。
2010 年 David 在他的著作”Kanban – Successful Evolutionary Change for Your Technology Business”一书中,详细介绍了看板的价值、原则和实践。书中总结了看板开发方法的五个核心实践,它们是:可视化工作流、过程规则显式化、限制在制品数量、度量和管理流动、以及协同改进。
点击原文可以查看何勉的《解析精益产品开发》系列的第一篇内容。
本日作者简介
杨赛(@lazycai),InfoQ 中文站编辑。到处串门的互联网信徒,相信规则的力量。
评论