Continuous delivery is a common practice in the software world today enabled by test automation and CI/CD tool chain. Usually, Continuous delivery is well-supported upstream but continuous ‘value’ remains a challenge. How do we address this challenge? Ideally, delivery of value should be assessed by customer adoption and realization of value in the form of desired business outcome for the customer. If the customer buys my product or buys additional services in a cloud product, that revenue can be construed as a reflection of expected value by the customer. While in the long-term customers will stay only if the value is realized in their business outcomes, it is not easy to assess realization of value for every small feature you deliver. Customers would know it contributed to solving a business problem for them but would not be able to quantify the incremental value.
In my view, the best and immediate way to assess CRV (Continuous Realization of Value) is to measure adoption and find out if the delivered feature addressed a business problem. We can then measure improvements to realised value as we fine tune our delivery system. In this brief post, let me walk through 10 tips (principles & practices) that would help leaders improve the flow of value.
- Balance product goals based on the business goals and product strategy – essentially about balancing medium and long term direction.
- Prioritize product requirements based on their relative value and time for development and value realization. It is critical to collaborate with customer groups in the ongoing process of prioritization.
- Product roadmap makes visible the requirements (roadmap items) targeted for the medium term, typically 6-12 months; Roadmap is the most concrete communication about product vision and strategy.
- Slice requirements into smaller features – slices of value – that could be delivered; Smaller features reduce risk and improve quality. This principle also helps minimize unfinished work (waste) when priorities change.
- Focus on finishing i.e., getting requirements and features to ‘done’ before starting new ones; Best time to practice this principle is upstream during road-mapping and feature planning rather than during development. It is also vital from human element perspective – teams are really motivated to see their work get released sooner for positive customer feedback.
- Limit WIP to reduce context switching but optimize team capacity utilization; Often team capacity is the constraint that caps the overall throughput of the value stream. ‘Optimize’ word is deliberately chosen instead of ‘maximize’ because team capacity is not made up of hours but is about sustainable pace of knowledge workers.
- Rank features on a regular cadence based on value, size, customer commitment, dependencies and risks to ensure maximum flow of value to the customers. Ranking works better when team members have T-shaped skillset else ranking is overridden by availability of the right expert. Developing people is a key leadership priority to maximize value delivered.
- Think of engineers as people first and recognize that software happens in their minds; Their clarity of vision, skills, motivation, mental capacity, emotional intelligence, positive energy impact the quantum and the value of work they produce. It is critical that the engineers understand the ‘why’ – in terms of value to customer’s business – behind what they are working on.
- Allocate time for waste remediation that would improve flow i.e., overall throughput and cycle time for delivering value. Teams are able to optimize locally but leaders can play a role in optimizing the system as a whole and they should.
- As a leader make it a priority to create a climate of collaboration with a focus on value delivery; Always set a personal example; Personal change is difficult but necessary to create the right conditions outside.
I believe all the 10 principles and practices listed above are important but if I am forced to choose one, it would be the last item in the list – ‘climate of collaboration with a focus on value delivery’. That is very much in the hands of the leaders in the organization. If you are a leader, that should energize you. You have control over the most significant lever to drive continuous realization of value.