什么是价值流映射,以及如何将其应用于软件交付?
#1 楼
价值流是一种将价值添加到内在价值较小的事物集合中的过程。规范示例中有一条装配线。我对零配件的集合(方向盘,变速杆,油门踏板)不感兴趣。另一方面,我会为汽车支付高昂的费用。汽车制造商通过设施,熟练的工作,供应链等形式为零件增加价值。零件进入流程的一端,而汽车则来自另一端。企业使用复杂的流程来交付他们的产品和/或服务。价值流图绘制是公司用来确定其价值传递方式和位置的过程。价值流映射的目的是对支持交付价值的业务能力所需的步骤,时间和资源有清晰的了解。
值流映射在改善或持续改进中很有用。 DevOps和Lean中采用的“系统思维”鼓励在整个复杂过程中进行小的,渐进的改进。价值流图可以暴露浪费区域,例如价值流中不必要或效率低下的步骤。完整的地图往往会暴露出这些浪费区域。这有助于确定改进的优先级。
价值流映射可以广泛应用于业务流程,也可以应用于软件交付中的较小范围。软件交付过程本身反映了装配线。重新编写,审查,测试,集成和测试代码。它从一种环境传递到另一种环境(在制造中称为工作中心),直到最终交付生产。
#2 楼
什么是价值流映射价值流映射表示从供应商到您的组织的工作流,库存流和信息流。通过VSM,您可以一目了然地看到流程中的延迟,任何约束以及过多的工作或库存。
对于IT组织,一个常见的表示是库存是库存中的许多任务。积压。 Joel Spolsky写了一篇很棒的文章,解释并扩展了此概念。
通常,VSM是一个图形图表,其中包括:
您的客户
您的供应商(如果以及何时使用外部承包商进行工作)
组织内部的流程(组织中的工作项会发生什么情况。)
反馈循环(客户要求功能,您可以将需求传达给供应商,等等。)
为什么要进行价值流映射
在大型组织中,当工作分解为专门的单元时-通常是整个系统不是重点。这导致诸如优化局部最优之类的问题。例如,如果您有一个管理Jenkins服务器的团队和另一个需要使用它的开发人员团队-Jenkins管理员可以进行改进并在JIRA中看起来不错。但是实际上,这伤害了使用该系统的开发人员。在系统思考组织中,人们将致力于改善整个系统,而不是添加局部的,对整体没有影响或损害流程的改进。
VSM的目的是为组织的客户提供最佳价值,同时在价值创造过程中减少浪费(精益)。 “价值”是组织的客户购买的东西。
如何创建价值流图
创建VSM有其自己的目标,即改善组织。因此,第一步是绘制当前工作和信息流。下一步是设计和实施一些改进,将来也将继续进行迭代和改进。 VSM是一个可视化的仪表板,显示了周围的工作和测量值,因此瓶颈清晰可见并且可以控制(使用约束理论)。
大多数情况下,根据描述创建VSM的步骤精益书籍:
从客户的角度指定价值。
确定每个产品系列的VSM(可以有多个)
改进工作流程。
建立拉力。客户现在可以从VSM中提取工作,而不必从中提取工作。
进行迭代直到完善。从客户角度看价值的拉动。不幸的是,人们常常并不真正了解看板的工作原理以及为什么要如此定义看板,因此他们使用看板将工作推向客户(或市场)-这通常会导致工作浪费和沮丧,没看到他们的工作有影响。
有关此主题的进一步阅读的很好参考:
Mike Rother和John Shook的《学习看书》
http://courses.washington.edu/ie337/Value_Stream_Mapping.pdf
评论
您能否阐明如何将价值流映射应用于软件?这与厨师,码头工人,詹金斯,git和aws一起工作的方式有关,也许是确保不必使用git + svn,或者更像各种Google产品如何增强其广告业务?
–avi
17 Mar 2 '17 at 13:59
软件交付价值流既包含技术,也包含过程。循环的“开始”可能是创建新系统或修改/增强现有系统(未开发/未开发的项目)的项目计划。该过程继续进行以启动工作,跟踪工作,执行和交付的过程。交付工作软件(人工的和自动化的)所需的所有步骤都是价值流的一部分。
–戴夫·斯沃斯基(Dave Swersky)
17 Mar 2 '17 at 15:16
除了试图澄清一个混淆点之外,我希望您可以修改答案以包含一个具体示例。
–avi
17 Mar 2 '17 at 15:23
我认为,在SDLC中实现VSM的下一步将是从规格到生产的流水线上的集成数据分析。
– Peter Muryshkin
17年10月10日在12:14