As organizations continue to build software products, teams are continuously discovering how every layer of the production process affects the outcome, leading to software development model experimentation in order to achieve greater efficiency.
Subsequently, methodologies like DevOps have emerged, targeting greater speed of software product improvement by increasing the synergy between development and operations teams. As much as 70% of organizations are expected to be using value stream management by 2023.
However, with a new sleek approach comes the need to institute a robust process flow that consists not only of optimized processes but also structures them in the most coherent and effective order. This is where value stream mapping comes in.
What is a Software Value Stream
A software value stream refers to the journey from the point when a software product is in its simplest form up to when it amasses enough value to be on the market. Depending on the amount of value added at any one point, it is possible to view smaller sets of actions within this journey as value streams, which basically encompasses the question of how you get from point A to B in a software’s development journey. To take a deep dive into software value streams and how to determine value, you can read more about them in this previous post.
Why are Value Streams Important?
By focusing on value streams, team leaders can gain a better understanding of every process and how it relates to others, the tools and people involved, etc. With value streams, you can easily visualize the way resources flow through different processes.
Managers can analyze every process and identify inefficiencies that slow the team down or lower the quality of output. Project heads can also discover procedures that have zero or negligible contribution to the desired outcome.
Through value stream mapping, leaders can pinpoint flaws like crowded decision-making where numerous people have to sign off on an idea regardless of how their role feeds into the idea, the level of dependence between various team activities, contention over who calls the shots on a plan, etc.
Why Value Streams may Underperform
Even when teams adopt DevOps strategies, they often find their value streams falling short of expectations. Here are a few reasons as to why it happens:
When development, testing, and operations are combined, it can take a while before everyone becomes fully aware of how other participants can help them achieve better results. So while organizations make efforts like developing and testing concurrently, collaboration doesn’t really take root.
It doesn’t make much sense to expedite tasks without properly establishing the necessary assistance required from other teammates to make those tasks run smoother. Without drawing a clear intersection of various members’ roles and creating mutual goals, silos will continue to exist and everyone will contribute in their own way irrespective of whether it’s the most effective way.
While value stream mapping can be very helpful in pointing out waste, there tends to be a focus on workflow. This isn’t necessarily a bad thing, but it can be a slippery slope into neglecting human actions and focusing on procedures.
Team leaders end up in scenarios where they are eliminating redundant steps and rerouting information without considering human capabilities. Sometimes people fall behind when it comes to tasks like approving requested changes, distributing relevant work materials, etc. Without curbing the waste people create, shaving processes and making them leaner will quickly hit a results ceiling.
Some team members also stick to old ways of doing things, failing to embrace newer tools that make work easier and subsequently slow down everyone who has to participate in a process.
When managing value streams, it is not uncommon for managers to focus on the efficiency of a process while sidelining effectiveness. Some processes may be set up to run with the least possible resistance, but doing things fast doesn’t always mean they are being done right.
Every process evaluation should be partly based on results and any recommendations on how to optimize the process should aim to do away with defects as they can be carried on. Without a strong link between actions like testing per cycle and value stream mapping, malfunctions in software can hurt productivity. Failure to resolve defects promptly can adversely affect value stream success.
Team members often fixate on making product features run the way they were intended to, gauging their success by how well they solve the problem they were made to answer. In doing so, they forget about security vulnerabilities within the software.
The further down the road these vulnerabilities go unnoticed, the more likely they are to cost the organization when they are eventually discovered. If the product is already in the hands of the consumer, its stable performance won’t matter that much if they know that they were exposed to attacks or if a data breach actually happens. Fixing such issues while already under scrutiny can be quite chaotic and expensive.
Lack of Continuity
For many team leaders, once there’s a clear picture of the current state of processes in the value stream, they establish how to get to the future state and stop there. When this happens, value stream mapping becomes more of a theoretical portrayal of the development journey rather than a practical exercise on how to improve this journey.
A value stream that doesn’t facilitate rapid learning and application of those lessons to improve the way things are being done will likely have stagnant results. Team members will always be operating on obsolete information and this will reflect in a failure to extract higher quality output from any process.
How to fix a broken DevOps Value Stream
Fixing a broken DevOps value stream is paramount to achieving a successful end goal. So let’s take a closer look at the precise steps it will take to do so effectively:
First, project managers should put together engineering teams that can deliver business value. With business value being defined in parallel with a customer’s definition of value, such teams should be able to encapsulate it in a product version, then test and deliver with minimal dependence on other teams.
- Get every process in line with the broader organizational goals and try to find out what value it adds that the customer wants. Identify the wasteful processes and do away with them or remove the attributes that make them inefficient.
- Understand how both the product and information move through the value stream. Information should be allowed to flow in a manner that takes into account the organization’s structure. When information manages to reach the relevant actors, an organization stands a better chance at improving processes.
With product flow, you need to compare the output with the flow of resources to determine whether the outcome matches the effort. Create meticulous records for each improvement, particularly the amount spent on it. This will help you know where to apply more effort first, which is usually the improvements that come with way more value than the resources spent on them. Once you exhaust these ones, you can then move on to the improvements that add substantial value but require tremendous investment.
Through the PDCA (Plan, Do, Check, Act) cycle, teams can stay ahead of any problems by always developing a plan for the issues they need to act on every after checking to see the effectiveness of a solution they applied.
- Avoid impulsive responses. If you decide to come up with a solution after a major catastrophe, you may reduce the likelihood of another scenario like that, but you won’t be addressing the underlying behavior that could go on to manifest differently in another area. Value stream management should have its own roadmap that continues whether there is a major problem or not.
- Use value stream mapping metrics to get a better read on how accurate your projections are. If a newly developed feature is to be tested within a specific duration, measure the actual duration of the test and calculate the gap between your expectations and reality.
This comparison enables you to know by how much your processes are lacking, the amount of improvement made with each iteration, and also shows the flaws in your projections.
- Managers should pursue deeper collaboration between various teams and ensure that every member involved exercises a considerable level of transparency.
- When teams start working together, you should determine all the ways in which their goals overlap and help team members by providing the support they need to complement each other’s roles and create more value while at it.
For more information on how to improve your value stream, you can read more on the value stream optimization process in this previous post.
alue stream management can’t be a one-time thing, especially for organizations dabbling in Agile project management. It also must be guided by the larger picture of the organization’s goals and managers need to find ways to translate these goals into process-specific results at every stage. They should also be able to come up with actionable tips on how every member can participate in the elimination of inefficiencies along the way.
Lastly, regardless of how much a particular effort simplifies the work of development, testing, and operations units, leaders should track the value it eventually adds for the customer. There should be a clear path from action to added value and managers should work to empower teams so they can continuously refine their actions to produce more value at whatever point in the software development cycle.
Co-founder of Buildingbettersoftware and Agile Leadership Coach
Søren Pedersen is a strategic leadership consultant and international speaker. With more than fifteen years of software development experience at LEGO, Bang & Olufsen, and Systematic, Pedersen knows how to help clients meet their digital transformation goals by obtaining organizational efficiency, alignment, and quality assurance across organizational hierarchies and value chains. Using Agile methodologies, he specializes in value stream conversion, leadership coaching, and transformation project analysis and execution. He’s spoken at DevOps London, is a contributor for The DevOps Institute, and is a Certified Scrum Master and Product Owner.
You can find more of his writing at https://agilerasmus.com/wordpress/
Value Stream Optimization?
We specialize in analysing and optimizing value streams.