DevOps Red Flags: A Slack Takeover with Melissa Benua
Thought leaders throughout the software community are taking over the TechWell Hub for a day to introduce themselves, answer questions, and engage in conversations.
Melissa Benua has held nearly every software development role—in dev, test, DevOps, and program management—and worked on Microsoft’s Bing and Cortana products. @Melissa presided over our most recent Slack takeover, which led to some insightful discussions.
When Your Environment Doesn't Encourage DevOps Adoption
“Have you been in a situation where the environment didn't encourage DevOps adoption? I'm finding with many good concepts (such as this one) no one disagrees with the benefits of adopting such a practice, but either the resources aren't available or the priority gets swallowed in bureaucracy?” —@Sam N
There are significant competitive advantages to companies that have strong continuous delivery and DevOps practices, including better:
- Market agility
- Market cap
- Dev satisfaction and retention
- Time to mitigation for security issues
Benua encourages people to get to the root of the problem when they’re considering adopting new practices. It's up to an organization to decide if it's worth it, but once they see money inbound to match the money spent in investment, it may help with the budgeting and funding of initiatives.
Red Flags When Moving toward DevOps Practices
“As a tester, what are some ways I can use my testing skills/knowledge/expertise to drive good DevOps practices at my company? Are there any red flags that I should be on the lookout for as my company moves towards DevOps practices?” —@JannaLoeffler
Benua urges people to be wary of any company that claims to follow DevOps practices but doesn’t have a test strategy. Companies don’t need a traditional, totally separate QA team, but they do need someone overseeing the test efforts, including test automation frameworks, tools for code coverage and metrics, and test strategy.
She highlighted four main pillars of healthy DevOps organization practices: source control, quality, deployment, and monitoring. And having a quality pillar does not simply mean software testing exists; it requires the testing to be fast, reliable, and automated.
Continuous Deployment and Continuous Delivery
“What are your thoughts on continuous delivery vs continuous deployment? Do you favor one over the other or does it depend on product/organization?” —@rkenney525
To keep everyone on the same page, @rkenney525 suggested using Atlassian’s definitions of continuous delivery and continuous deployment:
- In continuous delivery, every change pushed to the main repository is ready to be shipped, but the production release process still requires human approval
- In continuous deployment, the release to production is done automatically for every change that passes the test suite
Benua said most organizations that talk about wanting continuous anything usually actually want continuous delivery, because they want a human to actually push the button to swap changes live. Continuous delivery may be preferable to continuous deployment for other reasons too, including customer preferences, versioning requirements, regulatory requirements, and test deficiency.
Moving from continuous delivery to continuous deployment can take a lot of time, but @Gene Gotimer suggests that the journey—even if you never get there—is worth it, because it encourages teams to strive for better test automation, more reliable automated deploys, and higher quality products.