In order to deliver on the promises of DevOps, it’s important that the team starts with a shared vision. Part seven of our twelve-part series on DevOps delves into how alignment benefits both the customer and the team.
Factor 7: Align
When a new product or feature is announced, it’s imperative that the business, or at least the stakeholder, can explain to the team the value that it brings to the customers. All too often the team knows the whats and hows of the work to be done, but not the whys. In a 12-factor DevOps culture, the team knows all three of these things and aligns their work accordingly. Delivering value efficiently is considerably easier if you know what that value is!
Value, in this case, is the customers’ perception of the product versus alternative offerings. Per Harvard Business Review, value can be broken down into four broad categories, arranged in a hierarchical fashion:
- Functional – Does it save time or money, reduce risk, connect other services, reduce effort, simplify, or organize?
- Emotional – Can it promote wellness, reward the customer, reduce anxiety, trigger nostalgia, create fun, or just have aesthetic appeal?
- Life-Changing – Does the product or feature motivate the client, generate a sense of belonging, or provide hope?
- Social Impact – Can it help the customer be more and transcend their current self?
Technically-minded individuals tend to focus on functional value to the exclusion of everything else, leaving the rest to marketing or sales. This may work on a small scale or one-off product, but you’ll find that when engineers are aligned with the end-goal for the customer, they will often come up with inventive and potentially better ways to achieve it.
Once the value has been agreed upon, you need to be able to determine if you really are delivering it. To gauge success, you must be able to define and capture metrics beyond the technical ‘deploys per day’ and ‘quality of code’. Business-related metrics come into play, including:
- Customer satisfaction
- Mean time to recover from failures
- Overall failure rate
- Time to release a new feature
- Governance and compliance monitoring
Your overall failure rate and mean time to recover are relatively easy to obtain from most monitoring systems. These numbers are key for determining if you are meeting your service level objectives or not. That directly feeds into your customer satisfaction; if the product is not working, customers are inconvenienced, and that lowers satisfaction.
Measuring customer satisfaction generally falls outside the bounds of the product team itself, but it’s arguably the most crucial set of data. The business leaders need to conduct market research and customer surveys, and support customer engagement to know how users feel about the product. After all, if customers are dissatisfied with the product, the team failed to achieve its primary goal of delivering value.
A common tool to track the time necessary to release a new feature is the value stream map. A value stream map is really nothing more than a flowchart depicting the lifecycle of a feature from the time it’s added to the backlog to its release to end-users. Each step along the way is measured and a picture of the full process emerges.
Here’s an example value stream before applying the principles of automation and unification:
If you are familiar with Lean methodologies this should sound familiar. By mapping the process, you will find areas of waste ranging from inefficient steps and handoffs to tasks that could be eliminated entirely. Steps that take the longest should be among the first to be examined for the potential to Automate or eliminate. The more waste you can remove from your total process, the faster you get the feature to market. And the sooner you can go from a customer request to a completed feature, the happier your customers will be.