To achieve organizational efficiency and success, consider improving the flow of value delivery in your organization. What are some considerations for your next leadership or team retrospective in order to optimize the flow of work?
In the context of this write-up, the flow of work being referring to is from Idea to Implementation of a consumable product increment. In order to visualize the flow, consider using process mapping or value stream mapping to identify all the steps from when an idea is brought up, through to approval of the idea. Steps to capture may include things like securing funding, identifying the team(s), prioritization, construction phase steps and releasing the increment of value.
Three areas to consider include Alignment, Dependencies and Prioritization. There are other considerations which impact the flow of work in your organization, but these are the three I often look at first. Here are some considerations/questions to ask your team and/or leaders when looking to improve flow.
How might alignment help flow? Alignment is the secret sauce to achieving better business performance. Alignment will help increase the speed to decision making and decrease wasted resources waiting for decisions, re-hashing discussions, churn and effort working on lower value work. The Disciplined Agile principle of Enterprise Awareness helps leaders understand and work from the same playbook, the same strategy and desired outcomes for the organization. Alignment to overall objectives will help to drive the right values, practices and behaviors to achieve organizational success. Team alignment to the stakeholder vision and iteration goals will help the team remove work not related to the goal or lower value items not which does not help achieve the stakeholder vision.
There are several considerations for dependencies. Are there inter-team dependencies present in the delivery of a consumable increment? Where do items span multiple teams? Can these dependencies be measured in wait time or other impacts? How are the teams structured (business silos, technology focus vs cross-functional whole team focused on a product)? Do your team members have the necessary permissions in the systems in order to complete the construction and release of the product increment? Can team members just do the work without waiting for decisions or approvals?
How does priority impact flow to your team? What or who prioritizes the work? Is it a lengthy process with multiple people or a quick decision with an authorized person? How many steps are in the re-prioritization process? Is it nimble enough to quickly and efficiently respond to change? Are stakeholders going to the product owner or directly to team members? If they are going directly to team members, why? How are the team members responding? Are they honoring the team’s definition of ready before bringing work into an iteration? If you have a product owner, are they negotiating with the stakeholders to place their item in a future iteration, or is it being added to an in-flight iteration? Does your product owner have a consistent method of assessing value/risk? Is this a transparent process to the stakeholders? Do the stakeholders understand the stakeholder vision and why their item is higher or lower in priority at any given time?
For more information on any of these three considerations, please refer to the Disciplined Agile toolkit for insights and choices to help guide an improvement to flow. As it relates specifically to prioritization, check out the Address Changing Stakeholder Needs process goal and consider what to prioritize, who will prioritize and how to prioritize. There may be many inputs from customer feedback, technical debt, stakeholder vision of the product etc. to consider. How we prioritize may first start with looking at the scope and intent of the present phase of delivery. Are you looking at mitigating risk? Building a strong yet flexible foundation? Delivering a high valuable consumable product to delight your customer? Understanding and aligning on this intent, perhaps using a stakeholder vision canvas can help to establish a prioritization process. Empower the product owner, architecture owner and team members to use the vision and process transparently in discussion with the stakeholders so they can provide input and negotiate how their item fits/or doesn’t with the current phase of delivery. Lastly, use backlog refinement sessions (also known as look-ahead modeling) as a conduit to get the stakeholders together in a room to discuss the next highest priority items.
What might your team use to measure flow? A few measures to start with:
- Decision turn-around time. How long is the team waiting for an approval? Can this be shortened or eliminated?
- Technical debt. How do I raise the issue of technical debt to ensure it is prioritized alongside value? Can you measure the cost of support? How many workarounds exist in production? What are the costs of the workarounds to the business? Is the current technology easy to update and release for business innovation? What is the cost of not innovating or releasing something your competitor has?
- Lead and cycle times. Which processes or activities are heavier steps that are candidates for optimization? What is the average time it takes to deliver a small sized user story from idea to implementation?
- Process time. How long does the prioritization process itself take, before an item even gets to a delivery team? Starting with the longest steps, what can be done to shorten or eliminate these steps?
Hopefully, this summary has given you some things to consider in order to Optimize Flow. What are key areas you look at to optimize flow? What measures does your team use? Please add them in the comments section below.
Lisa Lueck, CDAC