In a recent episode of our Continuous Discussions (#c9d9) podcast, we were joined by expert panelists to discuss the importance of architecture for DevOps efforts and delivery success. The panel included: Brian Gracely, director of strategy at Red Hat; Carmen DeArdo, technology director at Nationwide Insurance; Mark Imbriaco, DevOps strategy at Pivotal; Mik Kersten , CEO of Tasktop; Randy Shoup , VP of engineering at Stitch Fix; and, our very own Sam Fell and Anders Wallgren. Continue reading for some of their top takeaways!
When architecting a value stream, make sure you are optimizing for things that deliver value both externally and internally, suggests Kersten : “Any local optimization of your value stream that does not bring business value to your customers, drives revenue results, customer engagement, or net promoter score, is probably bound to fail because you're not looking at end-to-end flow.”
What comes first, the architecture or the teams? Teams, says Shoup : “If you want your architecture to be a certain way, you want to first organize your teams along those same lines.”
When we approach architecture with the right mindset, it becomes much easier for teams to work together, explains Imbriaco : “When you think about architectural interfaces, you can have real conversations about the expectations for behavior on both sides of the interface and you can define that in a way that removes a lot of friction, that makes things work smoothly, that allows you to understand the motivation that came from both sides.”
The focus on architecture became less important as we started the agile phase, but now it’s more important than ever, says DeArdo : “Architecture is essential if we're going to be able to improve our ability to be responsive.”
Gracely advises to have some foresight when planning out your architecture: “If the architecture doesn't help create better behaviors it's as much a relic as old code.”
Look at the UI of a site or app, and it will tell you about the architecture, claims Wallgren : “You can tell a bad architecture based on the user experience of the product.”
Make sure you can understand how work flows from your systems. also, don't try to automate one button press! - Per @markimbriaco - on #pipeline #architecture best practices #c9d9 pic.twitter.com/akuxMb8W2j— CloudBees (@electriccloud) February 6, 2018
Business and the market is constantly changing – always be ready to re-architect so that architecture doesn’t become your bottleneck, advises Kersten : “Take a minimum viable architecture approach, but then be ready and able to re-architect.”
The best systems have these types of deployment pipelines, says Shoup : “We want pipelines to be very easy to use for developers. It needs to be push-button and resilient because lots of things could potentially go wrong along the way. And then it needs to repeatable and reliable.”
Don’t just jump on the automation train, make sure you understand your processes first, explains Imbriaco : “The first step is to make sure you can understand how work flows through your system. If you can't understand it, if you can't measure it, you can't improve it.”
It’s easier to understand where bottlenecks are when you make work visible. Take this advice from DeArdo : “Our approach has been to integrate our pipeline across that IT4IT value stream and make work visible.”
Gracely on the topic of being able to solve the architecture problem with a silver bullet: “It's not a question of, ‘Is there a silver bullet?’ it is, ‘Can you half-ass anything and be successful at it?’ Half-ass the new stuff, half-ass the old stuff. I think the answer to that one is ‘no,’ as well.”
There are some serious implications for being unwilling to evolve your legacy architecture, claims Wallgren : “You may have to fix your architecture, you have to evolve. Because the conditions under which you made those decisions are different than the conditions today. And if you don't react to that, you go the way of the dodo.”
Watch the full episode:
Want more Continuous Discussions (#c9d9)?
We hold our #c9d9 podcast once a month on Tuesday’s at 10 a.m. PT. Each episode features expert panelists talking about DevOps, Continuous Delivery, Agile and more. Check out all past episodes and panelists here.
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.