这是我学习丰田生产方式中的看板概念时,无意中从图书馆借出来的一本书。它很奇妙地把工业生产中的精益制造思想、看板工具与软件项目的敏捷开发方法结合了起来,并且通过一个实际的成功案例,详细解读了这些思想在大型软件开发项目的实际管理应用过程中可能会遇到哪些问题,这些问题的解决思路又是什么,内容实用、可读性甚高。
大家都知道,对于软件开发项目来说,最好能组成一个小而精的队伍来解决问题。随着项目规模的扩大,项目组成员不断增加,项目的组织协调难度、沟通复杂度都将呈几何级数增长。但不可避免的,总是会有复杂的大型项目出现。于是有些人就想到了,能不能把制造业生产管理的经验应用到大型软件开发项目的组织管理工作中来呢?没看这本书的时候,如果有人问我这个问题,我一定会回答“这怎么可能呢?程序员vs制造业工人、软件开发vs工业制造?你开什么玩笑?!” 而事实上,当软件开发项目扩大到一定规模,从生产组织和协调管理的角度,软件开发跟工业制造生产确实有很多相通之处。在对丰田生产方式有了更深入的理解之后,我甚至觉得,即便项目规模不是很大,精益制造中的“准时化”、“均衡化”和“持续改进”思想依然可以给项目管理工作带来很多帮助。
这本书很薄,只有160多页。前110页都是围绕一个实际案例来讲解,从人员组织、沟通方式、进度安排、目标跟踪,到看板使用、持续改进流程、管理在制品、流程度量,再到bug处理、版本控制等等,讲解得全方位、多角度、细致入微,最后还用一章总结了经验教训。后面50页作者介绍了敏捷和精益的概念以及因果图等管理工具的具体用法。
其中使我感到收获最大的三点是:
1、持续改进思想
工作流程不可能在一开始就设计好,也不可能一个人完成流程设计。它是在持续改进的过程中由大家共同“发现”的。对于不同的团队可能会出现各异的更优流程。管理者需要做的是落实流程改进引擎,推动流程改进的持续进行,它将“如发动机一般,给我们提供强大的动力。”
看板工具也必须有“准时化”、“均衡化”以及“持续改进”思想的支撑,才能发挥它应有的作用。
改进流程如下:
- 透明度:在显眼的地方设置看板,向所有人展示项目工作进展。交付物目标明确,人人都能明白。
- 沟通:各个团队内部以及跨团队层面定期召开流程改进研讨会(每周或每两周)。
- 数据:跟踪一些简单的衡量标准,看流程是否有改进。我们的衡量标准是速率和周期时间。
我们的战略相当简单:即假设人们天生希望项目成功,天生希望解决问题并改进工作方式。所以,我们需要做的就是创建一个能够促进和鼓励这种行为的环境。
如果人人都清楚我们的目标是什么、我们当前所处的位置,而且有正确的沟通平台,那么大家就会自我组织,朝着正确的方向前进,并持续摸索出尽快实现目标的方法。
这种激励人们对流程做出革命性改进的思维就是敏捷和精益的基础。
2、看板应用
虽然软件开发项目中的看板与制造业中的工序间看板、工艺看板等等有很大区别,但使用看板的最终目的都是一致的:使生产流程准时、均衡地进行;促进不同工序之间的有效沟通;及早暴露流程中的问题,并使其尽快得到解决。
软件开发的工作流可以规划成:创意、功能、下十个功能、开发、系统测试、用户验收测试、上线。
Paste_Image.png在看版系统中,这些不同阶段是并行的。其中每道工序又可以再有几个小组并行工作。开发中栏可以再细分三类工作:功能、技术故事、bug修复。(其中技术故事指升级数据库、清理不用的代码、重构糟糕的设计、增加自动化测试等工作。)
Paste_Image.png看板的一项重要功用,是与在制品限额结合运用,促进自我组织并消除瓶颈。工业生产中,在制品堆积会破坏生产的均衡性,造成不必要的浪费,是丰田生产方式要着力避免的情况。在软件开发过程中,堆积的在制品同样会阻碍工作流的流动,导致工作效率的降低。在实际案例中,管理者对功能卡进行了在制品限额管理,当可供测试栏中的功能卡达到限额时,开发团队成员就会停止功能开发,转而处理技术故事或协助进行自动化测试。
3、精益原则
(1)全局优化
局部的优化长期来说,会对系统整体优化不利。
- 专注于整体价值流
- 交付完整产品
- 着眼长期
(2)消灭浪费
浪费指所有那些不能增加客户价值的事项。软件开发中的三大浪费如下。
- 构建错误的功能
- 拒绝学习
- 辗转现象
(3)品质为先
如果在验证过程中总是能发现缺陷,那流程就有问题。
- 最终验证不应发现缺陷
- 采用测试先行的开发模式让流程具有防误机制
- 打破依赖
(4)不断学习
规划工作非常有用。学习必不可少。
- 可预测的性能来自于反馈
- 保持选择方案
- 最后可靠时刻
(5)尽快交付
从一开始就深人了解所有干系人看重的价值。然后基于这样深入了解的价值观,创建稳定、连贯的工作流。
- 快速交付、高质量和低成本是完全相互兼容的
- 排队理论同样适用于开发,而不仅仅是服务行业
- 管理工作流比管理进度表要容易得多
(6)人人参与
聪明、有创造力的人员的时间与经历,是当代经济的稀有资源和竞争优势的基础。
获得公正薪资的人员在自主性、成长性和使命感等方面受到激励。
(7)不断提高
结果不是重点——重点是培养人、发展体制、是之能够交付结果。
- 失败是个学习机会
- 标准存在的目的就是要背质疑和提高的
- 使用科学方法
《精益开发实战》这本书中还有很多实际问题的处理方法穿插于实际案例的讲解当中,非常值得学习。书很薄,不会花费您太多时间,如果您正在参与大型软件项目的开发管理工作,或者对软件开发管理感兴趣,那么这本书一定会令您有所收获。
最后,介绍一下这本书除去购买以外的获得方法:
1、中文版可到图书馆借阅-天津图书馆复康路和文化中心分馆都可以借到这本书,索书号为:F272 128
2、免费的英文草稿不完全版电子书下载路径:https://www.crisp.se/file-uploads/Lean-from-the-trenches.pdf
网友评论