Software delivery has come a long way in the last 10 years. Many organizations have scrapped the restrictive waterfall model in favor of collaborative approaches that enable them to build faster, change features midstream and deliver updates continuously. But today’s delivery processes aren’t as efficient as they could be. They’re still fraught with bottlenecks, mistakes and confusion. Teams are using too many tools that perform specific functions and don’t tie together well. Data is scattered throughout departments with no single pane of glass to provide visibility into the entire delivery life cycle. As much as we’ve moved forward, we’re not there yet.
There’s a fundamental disconnect in the way companies continue to deliver software. Creating DevOps cultures and adopting continuous delivery practices have helped, but companies still aren’t managing with the precision necessary to meet the demands placed on industry in the future. What’s needed is a more holistic approach to the management of software delivery.
That approach is outlined in a new model called Software Delivery Management (SDM). It’s more than just an industry term. It’s a revolutionary new framework that outlines ways to remove the blockers that lead to inefficiencies – to connect the people, tools and processes that play key roles in software delivery.
Building on DevOps and CI/CD
In an enterprise setting, there are often a variety of development methods, tools and technology stacks being used to deliver a wide range of software to meet different needs, through different processes. SDM doesn’t replace DevOps, continuous delivery or continuous integration (CI/CD). These are bedrock concepts that will be essential to software delivery for years to come. Instead, it builds on them.
Even in those companies with a mature CI/CD pipeline, multiple daily deployments and a full, company-wide commitment to DevOps, there is often no end-to-end insight into the value stream — where products and features are stuck now or get stuck frequently, where bottlenecks and inefficiencies slow down value delivery to end users. Teams following DevOps “best practices” often do things completely differently from each other, even within the same company. There is also a complete inability to understand how software affects business key performance indicators (KPIs).
CI/CD helps teams accelerate software delivery — but it doesn’t ensure that they are delivering the right software, or that the business need is being met. It doesn’t pull together data and artifacts across the entire software delivery life cycle from the many siloed tools an organization relies on, to provide a single overview with the contextual information that developers, product managers, operations teams, product marketers and support teams need. CI/CD doesn’t provide the data needed to measure how well the software organization is creating value for the business — and without a way to measure, software organizations have no way to know if they are reaching prescribed KPIs or even improving.
Software Delivery Management evolves CI/CD in several ways. It proposes the use of connected tools, so stakeholders aren’t working in technology silos. It proposes a holistic data model, so all stakeholders in the organization are accessing and sharing the same information. It also extends the feedback loop to encompass the entire application lifecycle, from issue creation to end users interacting with the application.
Just like DevOps breaks down the walls between the development and operations teams, SDM breaks down the walls to connect software delivery to cross functional teams across the organization. It allows them to communicate and collaborate better, through a unified process to ultimately make better software faster, that also effectively addresses the business needs and creates value for the customer.
How software delivery management brings value
Development and operations teams talk a lot about speed and frequency: if we can deliver hundreds or thousands of times per day, we have a cutting-edge software development process. At the end of the day, though, software delivery is not just about speed: it is about delivering the best possible product — one that meets customers’ needs — as quickly as possible. Speeding up delivery of poor quality software or software that doesn’t address the market need accomplishes nothing.
While SDM still places value on speed, the emphasis is on value delivery across the entire software organization through application of the four pillars of SDM:
- Common data
- Universal insights
- Common connected processes and
- All functions collaborating
The goal isn’t just to automate everything as a way to deliver instantaneously, but rather to free the creative humans who build software from low-value tasks and allow them to spend more time and energy on high-value, collaborative and creative work. And to give the entire organization visibility into the data required to make software drive better business outcomes.
In contrast to stereotypes about the lone, genius developer, companies get the highest value out of collaborative, cross-functional efforts. A DevOps culture is a step in the right direction, but true cross-functionality should involve collaboration among all stakeholders in the software organization, all the way through to customer success. When this happens, everyone has more time to focus on high-value work, from developers who no longer blindly create features to customer support specialists who are empowered to fix the root cause of customer frustration instead of repeatedly addressing the same customer concerns.
SDM changes the game
Adopting SDM means not having to sort through customer data to deduce what the problem statement might be, then having non-developers create the requirements for a new feature to address those problems — then handing the requirement set to the software organization without ever discussing the original data.
Instead, customer support teams, product stakeholders and developers have access to the same shared database and same information about customer usage. They can work together to both identify the problem and brainstorm how software could be used to solve it. Everyone understands the trade-offs different potential solutions involve, and can decide collectively how best to prioritize and plan feature development to get the desired business results, while delivering value to the customer.
It’s more likely the developers will deliver the right product the first time — and if they don’t, they have enough information in the feedback loop to iterate until the software solves the customer need. Everyone, from developers to product marketers to support teams, has visibility into the process and knows when to expect new features or updates.
The next era of software delivery
Software delivery has come a long way. Companies are building faster, updating more often and releasing higher-quality applications than ever before. But, as technologies advance and business sectors evolve, enterprises will face pressure to do more and do it better. There’s still a lot of room for improvement. The industry can get there, if it approaches software delivery holistically and defines it as a core business function.