At its core, value stream management—whether you're talking about a large organizational value stream or a software value stream—is about concept to cash. From the first moment your software development team puts a feature into the workflow until that feature emerges in your application, it's part of your value stream and thus, a key part of your business.
To successfully manage this value stream, you need to know what other parts of the organization your software delivery process connects to, and how the entire ecosystem functions holistically. For example, you might need to spot inefficiencies that could be preventing a feature from flowing through in a timely fashion. Or, it just might be taking too long for the work itself to go through. By gaining a clear understanding of these dynamics, you'll have a far better chance of accelerating your time to market.
It's also essential to look at the cash side of the value stream, which is all about customer value. Although it's important to release new features on a regular basis, you also want to make sure you're creating real value for your customers. That way, you can be certain they are satisfied, likely to keep doing business with you, and potentially even motivated to become brand advocates on your behalf.
All of this begins with understanding how the software delivery process connects to business outcomes. Let's explore how software delivery has evolved over time, why it matters, the stakeholders who should be involved, and how you can connect it to your business goals.
How software delivery has evolved
In the early days, before formal practices were established, software delivery was as simple as writing code and then copying and pasting that file onto a server. This process might have been easy, but it wasn't always safe or scalable. And as companies grew and expanded their software development teams—in some cases, by as many as thousands of developers—they realized they needed to start formalizing the operation to ensure repeatable and scalable processes.
Many software development teams first used the waterfall method to guide their software delivery processes through the various phases of development, and then agile methodologies became popular for their flexibility and quick value delivery. The world now revolves around DevOps, and everyone wants to shorten the software development lifecycle (SDLC) while also improving software quality. Although delivery models are useful, software development is not a one-size-fits-all endeavor. In the best cases, high-performing development teams may customize software development processes to fit their unique business requirements or organizational cultures.
Regardless of which software development framework your company uses, the goal should always be the same: to achieve a state of continuous, progressive delivery. This approach enables you to continually reduce your time to market and produce a better product for your customers.
Stakeholders in the software delivery process
Software delivery involves stakeholders across the organization. There are developers and release managers doing the work on the ground, and it's important to give them the proper tools to be effective in their roles. Make sure to define clear roles and responsibilities as well, so everyone involved in software delivery knows who is accountable for resolving systemic issues. This is a core aspect of the value stream management approach to software delivery, which maps out your SDLC from an end-to-end perspective, assigns official process owners at critical stages, and empowers them to address problems faster.
It is technically possible to have your developers simply write software and push it into production. Other stakeholders in the organization could go on with their own work feeling perfectly reassured that things are going as intended, not even noticing the lack of alignment for some time. But, as organizations inevitably discover as they reach enterprise scale, truly effective software delivery requires input from many more people than just your developers. And eventually, their lack of involvement will result in a product that doesn't fully serve your company's goals or bring value to customers.
In addition to technical experts and managers, you also want all leadership up the chain to be involved to a certain degree. At a minimum, security teams should be brought in, and in a perfect world, the product team should be aware of what's going on, too. Even if these broader business stakeholders don't have approval authority, they should be in the loop.
If your business leaders aren't asked to give feedback at regular intervals throughout the software development process, they may not even grasp what's being built, let alone understand how it enables business goals. Ultimately, after the product is released, your company may find itself wondering if the end product can even be considered a success. This is especially likely to happen in companies where the main line of business is not software or when there's a disconnect between leadership's understanding of the desired outcomes and the software development team's understanding of those same outcomes.
Communicating software delivery's business value
Software delivery is a technical practice, but it is closely linked to business value. If your business expects to succeed, it must be able to innovate faster and better than its competitors. To do that, you write more code, test it out, and, if the software doesn't do what it's supposed to, then you take that learning and go back to the drawing board. If you can accelerate this process while keeping security concerns front of mind, then you'll be able to cut costs, get your code out to production faster, and create value for your customers right away.
Anyone charged with responsibility for software delivery should be able to communicate its business value to you and your colleagues on the executive leadership team using these high-level points. In these conversations, it's not necessary to discuss minute technical details about the implementation. The C-suite doesn't need to know what the inner workings of the code look like, but they do need to understand how the software is aligned to the business strategy and how it serves customer needs. When you align software delivery with business outcomes, everyone—from executives down to the line of business staff—has the knowledge they need to make sure the company achieves its goals.
Aligning software delivery with business outcomes
Your company can use objectives and key results (OKRs) to align software delivery with business goals and demonstrate its value. First, you figure out your strategy and break it down in groups within the organization. Each group is answerable for their piece, and together, they all roll up to the intended top-level outcome. If your company doesn't use OKRs, it can track specific deliverables such as a full feature or a critical fix and link them to overarching business goals. This approach is not only useful for making sure software delivery does not veer off course, but it's also a great way to ensure that software delivery teams get credit for their hard work and creativity.
It's also important to prove the value of your technology investments—for example, an end-to-end automated software delivery system. As the saying goes, you can't manage what you can't measure. Here, too, you can do so by establishing relevant metrics—whether they're OKRs or something else—and have the relevant team create a dashboard where you and your colleagues can continuously monitor progress based on those metrics. This practice will help your organization establish whether your software delivery initiatives are generating the intended results or a course correction is in order.
If alignment challenges arise, consider looking at them from the time-tested people, processes, and technology lens, beginning with your people. Often, the people involved are incredibly diligent and give their all to their jobs. In some cases, it may just be a matter of improving the processes they use in their roles at the organization. But, if they're working toward the wrong goals, software delivery will not be properly aligned with the desired outcome — e.g., time to market is irrelevant if you are delivering the wrong product or little value to customers.
How organizational culture affects software development
Organizational culture strongly influences your company's ability to make effective decisions and achieve software development goals. To achieve internal alignment, you need an accurate understanding of your organization and its people. Thus, when undertaking a software delivery transformation, a comprehensive assessment of organizational culture should be the first step.
Some businesses embrace the Silicon Valley ethos of moving fast and breaking things, whereas others adhere to a command-and-control structure. These differing approaches can determine how effectively they deliver software. If you and your colleagues are accustomed to a more hands-on management style, for example, you may not be comfortable granting the software development team the freedom they need to adopt a highly agile software development methodology.
If you're not certain how to classify your organization's personality, conduct an assessment that shows where your company culture lies. Then, based on the results, determine which software development practices are most likely to be effective in your organization.
It's also worth surveying the entire staff to understand how everyone perceives the current organizational culture and what they hope it could become. You may find significant gaps between how the line of business employees view the culture compared to how your leadership team sees it. Once you know where the gaps lie, you can decide which software development framework makes the most sense for your organization and outline a change management process that gets you there.
Linking your software delivery process with company goals
Every organization relies on software delivery to compete and win, which is why it's more important than ever to make sure your software delivery process is aligned with your business outcomes and goals. Software delivery can be highly technical at the ground level, but it's also a core business process that affects the rest of your organization and is profoundly influenced by your organization's culture.
By understanding how software delivery creates business value, you will have a far better chance of connecting your software delivery processes to your business goals. An end-to-end automated software delivery system can play a key role in this alignment, helping your company achieve its high-level goals while granting your developers the freedom they need to deliver innovations and drive lasting business success.