Want to Digitally Transform? Embrace Delivery Pipelines.

Note: Join me at SpringOne Platform in October to hear real-life stories about the complexities and successes that your peers experience in their transformation. It may be the most important thing you do this year.

Look, I'm impressed by anyone who accomplishes something for the first time. You've got my admiration for running that marathon, sending out the first edition of your newsletter, or winning a blackjack tournament. Do you know what impresses me even more? Those who do something meaningful again, and again, and again. That requires more than heroics or luck; it requires a process.

Getting software to production is hard. It often involves a mix of coordination, scripting, manual steps, and yes, even some begging. For many teams, it's a herculean cross-functional effort that's avoided because it's so painful. But in this era where your user experience is a deciding factor for potential customers, you need to build and ship software regularly. The best companies have invested in automated, repeatable software delivery and follow these four practices.

Shine A Light On Your End-To-End Value Stream

Do you really know how workflows from idea to production? Or more importantly, in reverse, do you know the value your customer buys from you, and the path through your business to arrive there? As Tasktop CEO Mik Kersten says in his terrific book Project to Product, "[T]o avoid the pitfalls of local optimization, focus on the end-to-end value stream." It's important to "see" the entire system and find the bottlenecks that actually hold you back, before jumping into (potentially futile) localized improvement areas.

This means that before you can start automating delivery pipelines, you need to investigate and document the current state. Who are the involved teams? Where does work sit waiting? What are the entrance and exit criteria for each stage? Where are you using outdated or manual steps where the introduction of technology would make a major impact? Oftentimes, you (and your stakeholders) will be surprised when they visualize the complete value stream, and notice the people, processes, and technologies in play. Improvement requires attention on all three!

Focus on Improving Lead Time From Code Commit to Production

One of the key measures of success outlined in the Accelerate State of DevOps Report is "lead time for changes." In this context, lead time relates to "how long does it take to go from code committed to code successfully running in production?" For the elite companies, it's less than one day. For low performers, it takes between one and six months. To learn more about the report, watch a recent replay of the webinar I did with the report’s author, Dr. Nicole Forsgren.

After your value stream analysis, you should have a handle on the path to production for code after it's checked into a source control repository. 

  • Is it immediately tested against other code modules in the system? 

  • Are you running security scans or checking dependencies? 

  • How about building and packaging code into containers? 

  • Where does code sit waiting for production deployment? 

  • How is code rolled out to new users?

Companies in every industry have proven that they can automate these steps, and get value into the hands of their customers faster. This means they learn faster, incorporate feedback faster, and increase their chances of creating loyal customers. Want to learn more about continuous integration and delivery? Read our CIO’s guide.

Put Apps and Platforms On Pipelines

Digital transformation isn't about shoveling more features and apps into the market. It's about changing your relationship with customers through useful software. That means the relationship involves more than shiny new things. It's reinforced through a reliable, secure, cost-effective set of services. How do you do that? By also continuously delivering your underlying platforms.

What hurts your platform's reliability? Taking major downtime during quarterly upgrades. What puts your platforms—which all your mission-critical apps run atop—at risk? Leaving them unpatched or using rarely-changed credentials. And what keeps your platform costs high, thus making it harder to pass savings on to customers? Large teams doing intensive manual management of multi-site platforms. There's a better way.

I've seen financial services firms, healthcare companies, government agencies, and retailers all put their platform onto pipelines. That means that they're continuously updated (without taking downtime), immediately patched when vulnerabilities emerge, and completely hands-off for system upgrades. This results in improved reliability, better security, and lower costs.

Invest In Improving Availability While Increasing the Rate Of Change

Another key finding from the 2019 Accelerate State of DevOps Report? Top performers have a 7x lower change failure rate, even though they do 208x more frequent code deployments!

You can go fast and improve stability. Make no mistake, that's not a trivial accomplishment. It's hard to do. Yes, deploying small changes frequently means you have a smaller change surface and simpler debugging. But complex change processes, brittle architectures, and thin infrastructure APIs all make it hard to continuously deliver software and platforms. Rather, you need clear change processes devoid of review boards and heavy on automation. You need a resilient architecture that can tolerate rolling upgrades to compute and storage. And you need infrastructure APIs that make it possible to automate all the necessary provisioning, de-provisioning, and configuration activities.

We covered a lot of ground in this five-part blog series. 

  1. I offered an overview of digital transformation and some keys to success.

  2. We looked at the paradox of choice and how to  focus on outcomes for your customers.

  3. I encouraged an investment in design thinking and scaling the design discipline within your organization.

  4. We explored the value of processing data faster, and how to start embracing a streaming mindset.

  5. And here, we looked at automating delivery to get value to your customers faster. 

The key to all of this is deeply understanding what your customers need, and staying laser-focused on the desired outcomes.

Join me at SpringOne Platform in October to hear real-life stories about the complexities and successes that your peers experience in their transformation. It may be the most important thing you do this year.

 

About the Author

Richard Seroter

Richard Seroter is the VP of Product Marketing at Pivotal, a 12-time Microsoft MVP for cloud, an instructor for developer-centric training company Pluralsight, the lead InfoQ.com editor for cloud computing, and author of multiple books on application integration strategies. As VP of Product Marketing at Pivotal, Richard heads up product, partner, customer, and technical marketing and helps customers see how to transform the way they build software. Richard maintains a regularly updated blog (seroter.wordpress.com) on topics of architecture and solution design and can be found on Twitter as @rseroter.

Follow on Twitter More Content by Richard Seroter
Previous
A Sneak Peek at SpringOne Platform 2019 for Ops Engineers and VMware Pros
A Sneak Peek at SpringOne Platform 2019 for Ops Engineers and VMware Pros

Kubernetes is all the rage, and SpringOne Platform 2019 has you covered. But there's plenty more for ops en...

Next
A Quick Guide For Getting Up to Speed on SRE
A Quick Guide For Getting Up to Speed on SRE

Site reliability engineering principles are taking over operations within forward-thinking companies. Learn...