丰田生产方式 (Toyota Product System) 中有一个叫做标准 (或者标准化) 作业的概念。最近在“看板开发”邮件组上有个帖子在问:当在软件项目中采用TPS 和“精益”的时候,标准作业能否被实施呢?撇下软件开发不同于生产制造这一情况不谈,帖子的讨论者们的确发现了在开发中应用“标准作业”这一概念的价值所在。
Norman Bodek 在“标准作业——丰田的强力改善流程”一文中,这样描述他在丰田看到的标准作业实施情况:
我注意到一位女士在车间里正往塑料软管上装喷嘴。在她前面是一个 1 英寸厚,2 英尺高 2 英尺宽的【木制批示牌】。【贴在上面的】是那些高质量完工的软管以及有不同错误的软管示例。上面还有质量容差信息,可供她做自我检查。【在这些旁边】,有一处空白,可以让她记录发现的问题;还有一处空白,供她填写对流程的改进建议。
在“看板开发”邮件组的讨论中,发帖人的立场是:‘标准作业’的概念在软件开发中不适用。
对我来说,敏捷带来的突破:是让我认识到软件开发并不是一个固定的过程,也就不存在什么“标准作业”。
Alisson Vale 有不同的观点。他把标准作业看成是“当今团队工作的方式”。用这种方式来解读标准作业的话,就有一些适用于敏捷软件开发团队的例子了,包括:
- 每天早上 9:00 召开站立会议。
- 写代码时采用用红 - 绿 - 重构的方式。
- 通过清单来验证新的功能是不是被真正完成了。
- 结对编程
- 乒乓结对编程 (Ping Pong Pair Programming)
- 使用特殊版本的工具或者开发库
在《无废话标准作业》一文中, Robert Thompson 解释道:
员工们,不是那些“局外人”,他们会研究已经很熟悉的工作,从而找出最佳实践,制定出好的方法来持续改进过程。这样,他们将会负责去解决那些问题,并成为随之而来的一些标准的主人。
如今的实践是指那些标准的、团队开展工作的最佳方式。随着标准的建立,团队会被鼓励去做新的尝试,找到改进的方式,从而带来新的标准。使用标准的目的不是去限制团队。相反地,标准是持续改进的基线。
你感觉这是对‘标准作业’的合适而有用的解读吗? 欢迎留言来分享你的观点。
查看英文原文: Lean ‘Standard Work’ Applied to Software Development
译者简介:金毅,小小项目经理一名。对敏捷思想和实践,软件工程等颇有兴趣,关注 Ruby。多年服务于软件外包行业,对软件工程、方法学等在外包业的运用和实施略有感悟。
评论