Modern manufacturers are experiencing an uneasy feeling of déjà vu. Adapting to the digital world, they know they need to rely heavily on their own software development capabilities to enable digital strategies and create value for their discerning customers.
Yet there’s a tendency for organizations to treat these operations as different beasts from traditional business areas, under a mistaken assumption that they are exempt from traditional business models and processes.
Enter déjà vu. Classic business problems begin to surface, such as poor integration between functions, expensive bottlenecks, a lack of visibility into operations, and an inability to trace workflows.
What’s more, siloes develop, and a troubling gulf between the development of digital products and “The Business” appears, disrupting the flow of value for the very thing that’s meant to propel the organization into the 21st century and beyond.
The reason for this is quite simple: while software delivery requires its own unique workflow of tools, people and process, it is still a supply chain that needs to be managed as such – a fact that has largely been ignored.
By applying the supply chain concept to digital services and, more importantly, software delivery, it can become a core business driver that delivers consistent value. In fact, the supply chain can serve as a conceptual framework to understand where and how software delivery needs to evolve so it can be leveraged as a competitive differentiator.
Supply Chain Management
The goal of supply chain management (SCM) is to meet customer demands with the most efficient use of resources possible. SCM does this by taking a systems approach to the problem by integrating and orchestrating all the activities in a supply chain.
When optimizing the supply chain of the business, we seek to maximize the network effects of integration by identifying as many processes and operations as possible, discovering ways to integrate them, and establishing as many data points as possible to monitor them.
Up until the 1980s, supply chain activities were managed locally, and consequently optimized locally. If you were lucky there would be some coordination between node in the supply chain, but activities were certainly not seen as a system that could be integrated and optimized.
Today, the integration of activities through SCM is a fundamental discipline and a key strategic differentiator of any product business. The giants in every industry — businesses like McDonalds, IKEA and Apple — provide value not just through their supply chain, but because of it. Their supply chains imbue their product with a tremendous amount of value that sets them apart from the competition — proven value that customers are willing to pay for.
Applying Supply Chain Management to Software Delivery
Software delivery relies on a supply chain to realize customer value just like any other industry. As such, leveraging it strategically means harmonizing production activities with the supply chain activities that surround them — activities like planning, sourcing, distributing and maintaining.
As Agile, DevOps and Lean continue to have great success in fixing the problem of how to build great software, the next great problem to be addressed is how to build the right things.
This is where traditional and digital differ — there is a new breed of the bottlenecks to consider that prevent flow and efficiency of production, such as how requirements are recorded, how customers are enabled, how feedback is collected, how the product is marketed. All these activities are functionally the same, but implemented very differently.
To confront these bottlenecks directly, we need to be explicit, calling out the supporting activities and understanding them as a system that needs to be integrated, just as they were in manufacturing supply chains back in the ‘80s. Then we can apply the principles that we learned from SCM and realize their benefits in software.
Software Supply Chain Management
Effective supply chain management means integration. Across an organization there are a multitude of processes, and operations need to be aligned. SCM strategy focuses on integrating these activities to ensure that work flows smoothly and only customer value is being created. This is because the largest supply chain impediments include siloed information, disparate systems and unsurfaced metrics.
In the knowledge-driven organization, processes and operations have become software-defined. All project-relevant information is captured in individual tools for different functions (developing, testing, planning, and so on). And here lies the core issue — a fragmented toolchain where different processes and even different stages in a process involve different tools that are not designed to integrate. What happens to the flow of work across a disconnected workflow? The traceability and visibility of operations becomes distorted, undermining governance of the value stream.
On the upstream this makes it difficult to track feature progress, requires endless alignment meetings and communications, and can result in bizarre reporting that does not reflect what is actually happening in the business or whether value is being created or lost.
On the downstream, technical people are disempowered from making decisions based on system level information, have little sense of ownership or connection to the value being delivered, don’t understand the overall value being delivered and may not be informed of changes in time to avoid waste.
Software supply chain management strategies, therefore, need to apply supply chain thinking, and focus on how to connect these activities. Information needs to flow easily between teams working in different applications, data needs to be collected from all the tools being used. A holistic strategy can be used to connect everything as a single system that surfaces valuable analytics to the right people where they need it.
This is a fundamental requirement of any supply chain, and the need to develop concrete strategies for managing integration in software can no longer be ignored.
For years, businesses have managed to separate software delivery and supply chain activities, seldom considering their common ground. But understanding software delivery as a supply chain can help to clarify the problems large enterprises face, and provides a better way to move forward with integrating activities to achieve systemic benefits.
Ultimately, we can’t scale Agile and build a world-class DevOps organization in a vacuum. The work being performed needs to be integrated into the value chain of the business. The ability to execute on the integration piece will therefore be the determining factor in competitiveness, forming the primary barrier to success in implementing a large-scale software strategy once Agile and DevOps are scaled effectively.
That’s what the conversation about the software supply chain is about — understanding that the activities that surround software delivery need to be identified, catalogued and managed together as part of an overall strategy.
By understanding the supply chain, applying its principles to software delivery and building on the body of knowledge and practices associated with it we can evolve towards consistent delivery of value independent of industry forces.
John Rauser is the IT Manager at Tasktop Technologies.