DevOps Zone is brought to you in partnership with:

Leaving university, I thought I'd be a developer happily knocking out code but was always drawn to tech support. How do we help people use our tools better? Now, I mostly specialize in consulting and introducing new customers to our tools. I am a Tech Evangelist and Lead Consultant at Urbancode. Eric is a DZone MVB and is not an employee of DZone and has posted 82 posts at DZone. You can read more from them at their website. View Full User Profile

Software Supply Chains and DevOps

05.19.2013
| 1444 views |
  • submit to reddit

During our induction into the IBM family, one of our new colleagues told an anecdote about a firm that outsourced its mobile application development. Managing the relationship of outsourced work with what is being developed in house is a challenge similar to what manufacturers face with their supply chains. While this is a topic the folks at IBM having been talking about for a while, it’s new to me. The implications however are both clear and profound.

Lessons from Supply Chain Masters

Consider the lessons that Toyota learned through its Lean efforts. Being Lean, and working in small batch sizes does not work unless suppliers are also able to react quickly, producing small batches of exactly the parts needed for the vehicles that were in demand. Liker’s book The Toyota Way recounts their work with Trim Masters where seats are ordered when a car begins its four hour trip down the assembly line. With Toyota’s help Trim Masters was able to produce the seats and deliver them just in time to meet up with the rest of the car a few hours later.

Or consider Walmart’s famous supply chain agility. While maintaining very low costs, Walmart is also able to react very quickly to changing market dynamics to rarely need to put items on clearance.

Applying Supply Chain Lessons to Software

Software companies that would decide to make a change and release it hours later are few and far between. However, we serve businesses that increasingly expect to be able to change plans often to exploit immediate or transient market opportunities. Speed of innovation is key.

If we have outsourced our mobile development and need to deliver a new capability to market, we need to be able to signal our supplier and get rapid delivery of new capabilities that match our internal development efforts. Renegotiating the contract won’t work. Instead outsourcers and the teams that deliver for them will need to establish contracts that expect frequent changes and account for them. There’s plenty of writing on agile software contracts that can help with this.

If the suppliers can’t react quickly enough to change, you may take a page from Toyota’s playbook and invest in teaching your partner how to be more agile. High expectations as well as providing assistance are your responsibility.

Optimizing how you work with your suppliers is never enough. Your internal systems for frequently delivering what is needed with high quality need to be in place as well. Applying similar Lean concepts to how software is development and released tends to result in adoption of Agile and DevOps techniques such as continuous delivery.

For IT shops that have outsourced, rapid internal delivery, smooth signaling of changing requirements to suppliers, and rapid delivery from suppliers need to come together to form a seamless, predictable release pipeline.

For more on Lean, you should check out of white-paper on Lean Build and Deployment Automation.

Published at DZone with permission of Eric Minick, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)