DevOps.com

  • Latest
    • Articles
    • Features
    • Most Read
    • News
    • News Releases
  • Topics
    • AI
    • Continuous Delivery
    • Continuous Testing
    • Cloud
    • Culture
    • DataOps
    • DevSecOps
    • Enterprise DevOps
    • Leadership Suite
    • DevOps Practice
    • ROELBOB
    • DevOps Toolbox
    • IT as Code
  • Videos/Podcasts
    • Techstrong.tv Podcast
    • Techstrong.tv - Twitch
    • DevOps Unbound
  • Webinars
    • Upcoming
    • Calendar View
    • On-Demand Webinars
  • Library
  • Events
    • Upcoming Events
    • Calendar View
    • On-Demand Events
  • Sponsored Content
  • Related Sites
    • Techstrong Group
    • Cloud Native Now
    • Security Boulevard
    • Techstrong Research
    • DevOps Chat
    • DevOps Dozen
    • DevOps TV
    • Techstrong TV
    • Techstrong.tv Podcast
    • Techstrong.tv - Twitch
  • Media Kit
  • About
  • Sponsor
  • AI
  • Cloud
  • CI/CD
  • Continuous Testing
  • DataOps
  • DevSecOps
  • DevOps Onramp
  • Platform Engineering
  • Sustainability
  • Low-Code/No-Code
  • IT as Code
  • More
    • Builder Community Hub
    • Application Performance Management/Monitoring
    • Culture
    • Enterprise DevOps
    • ROELBOB
Hot Topics
  • Fear of the Future
  • KubeCon 2023: Internal Developer Platforms and Developer Productivity
  • Three Strategies for Reducing MTTD and MTTR as Outage Costs Spiral
  • Observability: The Central Watchtower Your All-Seeing IT Needs
  • Bitrise Tightens Mobile DevOps Integration With AWS Cloud Services

Blogs DevOps Culture DevOps Needs Collaboration and a Safe Place for Success

DevOps Needs Collaboration and a Safe Place for Success

Avatar photoBy: Stephen Withers on October 1, 2019 Leave a Comment

When it comes to DevOps adoption, “[many organizations] tell a similar story,” said Scott Van Kalken, systems engineer at F5 Networks. It takes more time and effort to develop the right culture than you probably expect.

Recent Posts By Stephen Withers
  • API Security by Design
  • Consider Telemetry When Rearchitecting Applications
  • How To Address DevSecOps Skills Shortages
Avatar photo More from Stephen Withers
Related Posts
  • DevOps Needs Collaboration and a Safe Place for Success
  • DevOps success is everyone’s responsibility
  • Why Your Organization Needs DevOps
    Related Categories
  • Blogs
  • DevOps Culture
  • DevOps Practice
  • Enterprise DevOps
    Related Topics
  • devops
  • devops implementation
  • DevOps Success
Show more
Show less

Van Kalken has a long history in tech, including development and operations roles, and has spent several years practicing DevOps. He is part of the open source and meetup communities, and organizes some of the largest DevOps events in Australia.

“DevOps typically starts in a corner of the organization, where people want to deliver high-quality software really quickly,” said Van Kalken.

When that team gets good results, the organization decides to scale up its DevOps efforts, but tradition and silos get in the way.

“At least two things are needed to overcome those obstacles and achieve DevOps success,” suggested Van Kalken.

Collaboration and Safe Places

The first thing you need to achieve DevOps success is a collaborative team environment. One of the central ideas of DevOps is you don’t throw software over the wall between functions, such as development and testing, so there needs to be an understanding and acceptance that everyone in the team is on the same side.

Second is the provision of a safe place to fail and the realization that failure is just an iterative step on the path to implementing the best ideas.

A financial services company that Van Kalken works with was adopting GitOps but needed to convince the service management team this was the right move.

“Initially, it was quite challenging because service management thought it [GitOps] was uncontrolled chaos, even though that isn’t the case,” he said.

Its support was gained after running a series of workshops that showed the underlying processes were actually the same, even though the tools used to implement them were changing.

Service management is still the final gatekeeper, but it now approves releases in the repository rather than on paper.

Maturity

“There is a maturity in accepting change does involve risk,” said Van Kalken.

Things such as GitOps provide a quick and easy way of reverting to a previous release if something goes wrong. So the “safe place to fail” idea can be implemented in a way that protects the organization in a practical sense as well as staff members in a psychological (and career protecting) sense.

Another way DevOps can protect the organization is that frequent releases generally involve relatively minor changes, which in turn have a smaller blast radius in the event something goes wrong. Again, this is about having the maturity to recognize risk and dealing with it, rather than trying to avoid it in the first place.

A sometimes overlooked aspect of increasing the release cadence is the effect on users, who are being asked to cope with frequent changes.

Van Kalken pointed out that increasing the frequency does not necessarily mean multiple releases a day–it could be from two releases a year to three or four, if that’s what suits the organization.

Not all changes have a direct impact on users. Some are under the hood, improving performance or addressing rarely-encountered bugs. But when users’ interaction with the system is changed, he suggested canary deployments as a way of checking the acceptability of the new approach among a larger pool of users than those brought into the development process, before it is released to the entire user population.

“This approach also has a place in DevSecOps as another way of limiting the blast radius,” he said.

Accepting Failure

Perhaps the biggest challenge to an organization’s culture is the adoption of chaos engineering because if you’re going to kill a container or flood a network with data in order to check that the wider system can cope, you absolutely need to be in a safe place to fail.

You also need to realize everyone involved–including developers, security people and those involved in the business side–wants to achieve high availability, and that means designing systems that can handle (partial) failures.

It isn’t enough to do this in pre-deployment testing. Ongoing testing provides confidence that production systems will continue to cope with such failures.

“It’s pretty cool when you get it right,” said Van Kalken. However, “your culture has to be OK with this iterative approach.”

“DevOps is really just a methodology to achieve a better outcome,” stated Van Kalken. That involves collaboration, iteration and embedding security and other considerations up front. But the wider organization needs to understand and tolerate this, and the risk that goes with it.

“Education, awareness and experience can all contribute to dispelling the traditional view that risk and failure are inherently bad,” he suggested.

Are the Metrics Appropriate?

A related point is that whether one outcome is better than another, depends on the metrics adopted. “[Metrics are] probably the biggest things organizations need to change,” said Van Kalken.

For example, a customer who ordered a pizza doesn’t care whether a particular system involved in taking the order, cooking the pizza and then delivering it, achieved a certain uptime target. They just want the pizza to arrive promptly.

When that doesn’t happen, he believes a collaborative approach is needed to determine why the delivery was late, exactly what caused the problem and how to quickly roll out a fix to stop it recurring.

When it comes to practical advice, Van Kalken emphasized the need to get people together early in a project, otherwise there is a risk that sub-groups will demonize each other. In addition, you get more buy-in and everyone accepts they have to help with the pedaling, not just sit back and be passengers.

“If people aren’t talking, you have a bad culture,” he said. But he acknowledged it can be difficult to get past existing adversarial relationships. Breaking the ice between teams that haven’t previously engaged with each other can also be tricky.

Returning to an earlier theme, he stressed the importance of adopting an analytical, rather than punitive, approach when failure occurs. Everyone involved must know the organization accepts risk and understands the consequences.

— Stephen Withers

Filed Under: Blogs, DevOps Culture, DevOps Practice, Enterprise DevOps Tagged With: devops, devops implementation, DevOps Success

« How to Implement an Effective CI/CD Pipeline
DOES19 London: Sharing DevOps Lessons Learned »

Techstrong TV – Live

Click full-screen to enable volume control
Watch latest episodes and shows

Quiz

Results to last week’s quiz are here.

Upcoming Webinars

Building Resilient Organizations Around IT and Cybersecurity
Wednesday, November 29, 2023 - 1:00 pm EST
How to Bring DevSecOps to V-Shaped Development
Thursday, November 30, 2023 - 1:00 pm EST
Scale and Standardize Your infrastructure in Azure, With Red Hat Enterprise Linux
Thursday, November 30, 2023 - 3:00 pm EST

GET THE TOP STORIES OF THE WEEK

Sponsored Content

Why AIOps is Critical for Networks

October 3, 2023 | Mitch Ashley

JFrog’s swampUP 2023: Ready for Next 

September 1, 2023 | Natan Solomon

DevOps World: Time to Bring the Community Together Again

August 8, 2023 | Saskia Sawyerr

PlatformCon 2023: This Year’s Hottest Platform Engineering Event

May 30, 2023 | Karolina Junčytė

The Google Cloud DevOps Awards: Apply Now!

January 10, 2023 | Brenna Washington

TSTV Podcast

On-Demand Webinars

DevOps.com Webinar ReplaysDevOps.com Webinar Replays
  • Home
  • About DevOps.com
  • Meet our Authors
  • Write for DevOps.com
  • Media Kit
  • Sponsor Info
  • Copyright
  • TOS
  • Privacy Policy

Powered by Techstrong Group, Inc.

© 2023 ·Techstrong Group, Inc.All rights reserved.