精益Scrum
使用精益思想来考虑和解决Scrum所暴露的问题通常会收获高回报,并且这是持续贯彻实施持续改善文化的一个好方法。Scrum团队仍在学习如何将精益应用到Scrum中,但是许多实践已经变得越来越受欢迎,因为它们已经证明了这些实践使得Scrum团队的工作更加有效。
有许多常见的实践和技术在知识工作中直接支持精益原则。这些技术的可以用下面的角度来审视它们是如何在Scrum团队中得以实现的。
以下当然不是一个详尽的技术列表,只是一些Scrum团队可能会使用精益从业者常见的技术进行改善的简单例子。此外,每项技术可以应用在许多方面,这里只描述了少量的精益技术。Scrum团队可能在不同的场景中使用这些改善技术,这与在文档中描述的情况有所不同。
消除浪费
也许最根本的精益实践是消除浪费。精益认为浪费任何不需要产生期望的结果。软件开发中常见的浪费包括:
1、软件中存在不被使用的代码或者功能
2、导致重新开发的缺陷
3、延迟或者需要花费时间等待的事情
4、从一个人、团队或者业务流程移交到另一个人、团队或者业务流程
5、高度详细的需求
6、不充分的需求
7、缓慢的或者低效的沟通
一些浪费根本无法避免,甚至是必要的。例如,在最严格的定义中,需求文档也是浪费。一个代表需求的索引卡根本没有交付给客户,因此索引卡就是浪费。需求卡本身不是产品功能,它代表了创建功能的工作和必须完成的工作内容。需求卡的存在是为了帮助开发人员思考并跟踪他们的工作。虽然大多数团队认为这是必要的做法,它很容易被认定为浪费。
虽然一些浪费是必要的,但是这些内容可以被减少、优化,甚至是被删除。在软件开发价值流中的一些浪费,如等待太长,检查代码,很容易识别和消除。在软件开发团队发现其他浪费