Continuous Delivery and DevOps:A Quickstart Guide
上QQ阅读APP看书,第一时间看更新

Value stream mapping

This lean technique derives from—as quite a few agile methodologies and tools do—manufacturing and it has been around, in one guise or another, for many years. As with any lean methodology/tool/technique, value stream mapping revolves around a value versus waste model. In essence, a value stream map is a way to breakdown a product delivery process into a series of steps and handover points; it can also be used to help calculate efficiency rates if that's useful to you. The overall map can be laid out and analyzed to see where bottlenecks or delays occur within the flow; in other words, which steps are not adding value. The key metric used within value stream mapping is the lead time (for example, how long before the original idea starts making hard cash for the business).

There are lots of resources and reference materials available to detail how to pull together a value stream map and there are a good number of specialists in this area should you need some assistance.

kTo effectively create a value stream map, you will need a number of people across all areas of the business who have a very clear and, preferably hands on, understanding of each stage of the product delivery process—sometimes referred to as the product life cycle. If you have done your legwork effectively, you should have those individuals in the workshop. Ideally, a value stream map should represent a business process; however, this may be too daunting and convoluted at first. To keep things simple, it may be more beneficial to pick a recent example project and/or release and break that down.

As an example, let's go through the flow of a single feature request delivered by the ACME systems Version 2.0 business (before they saw the light):

Each box represents a step within the overall process. The duration value within each box represents the working time (that is, how long it takes to go through each step). The duration value in each arrow represents the wait time between each step (that is, how long it took between each step).

This is a very simplistic overview but it does highlight how much time it can take to get even the most simplistic requirement out of the door. It also highlights how much waste there is in the process. Every step has a cost, every delay has a cost, and every mistake has a cost. The only real value you get is when the customer actually uses the software.

On the face of it, generating this type of map would be quite simple but it can also be quite a challenge. This simplistic diagram is created in real-time with input from many different areas of the business. There will be lots of open and honest dialogue and debate as facts are verified, memories jogged, dates and times corroborated, examples clarified, and agreements reached across the board as to what actually happens.

If you prefer to use the standard value stream mapping terminology and iconography, you could take the sticky notes version and convert it into something like the following, which again represents the flow of feature requests through the business:

This diagram also includes the efficiency (which is based upon the amount of time value is being added versus dead time within the flow)

The most valuable output from this particular technique is that you can spot the obvious areas of waste. These are the parts of the overall process that are slowing down and impeding your overall ability to deliver. With this information, you can now focus on these problem areas and start to look at options that will make them less wasteful and more valuable to the overall process.

As previously stated, there are many other techniques you can use to provide similar data, some of which will be included in the Appendix A, Some Useful Information.