Editor’s Note: This blog post is the second in a series about Software Delivery Management written by Shawn Ahmed, vice president of product marketing.
In a prior job as an engineering manager, I spent a lot of time identifying and trying to remove bottlenecks and inefficiencies that got in the way of value delivery. I wanted to give my team of creative, highly-trained developers the insights, data and processes automation to do their work as efficiently as possible, individually and as teams.
In practice, it was extremely frustrating. I often started my workday by manually sorting through information, alerts and statuses from the 10-20 of the most important tools of some total 40-50 different tools we were using. I was always trying to piece together a holistic view of where different features were in the value delivery lifecycle, where things might be stuck, but most importantly why. My daily goal of having a birds-eye view of everything in development was elusive. All the information was siloed and disconnected, and I couldn’t make sense of it manually, often resulting in unnoticed bottlenecks and inefficiencies that simply slowed us down, wasted time in forensic analysis…
The pipe dream was to one day gather and connect information from my software development and delivery toolchain to other parts of the business like our back-office business systems. Getting a complete view of the features in development was hard enough – understanding how those features are being used? Who is using them? Are the features being adopted? Are they driving business growth? Getting answers to questions like this was not something I considered possible in near real-time.
But now there’s a way.
Software Delivery Management (SDM) gives everyone in the software development and delivery organization, from developers to engineering managers, product managers to product marketers, doc writers, UI designers, support and business executives a way to easily see not just where product and features are sitting in the value delivery process, but also how the software is driving value. This is more than just extending the continuous integration/continuous delivery (CI/CD) process, but about extending the DevOps philosophy of collaboration and information sharing to the entire company. Just think. If you’re an engineering manager, here’s how software delivery management can transform the way you work, collaborate and connect with your development teams and your peers throughout the organization.
Without software addressing SDM, engineering teams rely on a diverse set of tools, each one designed for one step in the process. Getting a complete end to end view of value delivery across the different tools is a slow, manual process and the likelihood of unnoticed bottlenecks and inefficiencies getting in the way of value delivery is high. With CI/CD automation you may have gotten orders of magnitude faster at build/test automation and deploying code often.
But with Software Delivery Management, software, all artifacts and data from disparate tools used to move a product or feature from initial idea to max adoption are integrated into a unified common data layer, with the key information connected and easily accessible, giving each individual and team an unprecedented level of insight into bottlenecks and inefficiencies dramatically improving the speed at which better software gets to users safely.
Without software addressing SDM, there is no easy way for stakeholders to get an end-to-end view of the software development and delivery process and evaluate how well an application met its business objectives. The software organization, responsible for developing the capabilities to address business needs, lacks clear and continuous insights into the business drivers and specific customers’ needs. Once a capability has been delivered both the business stakeholders and the software organization lack true visibility into the adoption, outcomes and impact of the software. Without these insights, continuous improvement—and the resulting exceptional software quality – is impossible.
With Software Delivery Management, the continuous feedback loop established with CI/CD and DevOps is extended to fully include all stakeholders, from the ideation phase through user adoption and back to ideation. As usage data comes in, the application can be tweaked using feature flags and metrics-based testing of the software continuously while it’s in production. This allows developers to deploy software and features with specific groups before rolling it out in full production.
All of these things enable developers to better align the software with the business objective and improve the user experience. The result is software that’s not just delivered faster, but also better meets business objectives and customer needs, because even the best ideas are only ideas if they aren’t executed correctly. Instead of just delivering faster, Software Delivery Management helps teams deliver the right things.
Without Software Delivery Management, developers often don’t understand the purpose or the desired impact of what they are tasked to create. Business stakeholders often don’t have insight into what’s in development, how it will be implemented, when it will be delivered and how it drives impact. This is exaggerated by a lack of connected processes. Most organizations end up using massive spreadsheets, meetings, long email threads and Slack messages as a way to work around this—it’s what I used to do as an engineering manager. Yet the business still feels like development is a black hole, developers feel like they have no control, and nobody is really collaborating.
With Software Delivery Management, the silos between the software organization and other cross-functional stakeholders are broken down, so both can continuously understand what is needed, what is being delivered, and how it is driving business and customer impact. Information about the project is available to all stakeholders in real-time, in the form they need it. No more waiting for an email response or combing through a spreadsheet and hoping it has the relevant data. This makes it possible for the stakeholders to continually and seamlessly collaborate.
Software is ultimately made by creative, highly-skilled people who understand both the possibilities and the limits of software to solve business problems and create business opportunities. Software Delivery Management helps these individuals focus more on the creative problem-solving that software development requires by providing visibility, improving communication and eliminating disconnected teams and manual processes as much as possible. At the same time, the most creative solutions often come from cross-functional collaboration – and Software Delivery Management brings together not just different parts of the engineering department, like DevOps does, but facilitates collaboration between engineering and sales, marketing and/or other business units.
The goal of enterprise software development isn’t to create the software as fast as possible or to create the most technically sophisticated application. The goal is to use software as a tool to create business value and to create that value as quickly as possible. The ability to bring business strategy and software engineering together is critical to creating applications that are as effective as possible at meeting the business goals.
Wondering how Software Delivery Management can help you not just deliver software faster, but also create software that users love? Learn more about how CloudBees can help.