Defining culture

Culture is a very nebulous thing and can be difficult to visualize, understand, and define. This becomes more difficult when applied to a positive and progressive culture; however, the following diagram may go some way to visualizing what this means in relation to CD and DevOps adoption—some of this we'll cover in more detail throughout this chapter:

The cultural interconnectedness of all things CD and DevOps

In the previous diagram, you'll see that culture is central to enabling, encouraging, influencing, reinforcing, and sustaining positive behaviors. These positive behaviors will need to become the norm if you are to ensure your adoption succeeds. Some may believe that the opposite is true; however, the reality is that culture is so central that all of the work, effort, and best intentions in relation to establishing and sustaining positive behaviors can be thwarted almost overnight by a dysfunctional and poisonous culture. That isn't to say that you can't work from the outside in with enough sustained and consistent effort; however, from experience, I know this can be very long-winded, difficult, and fragileit just takes one bad decision or event to undo months of work. Ultimately, you need to focus on the culture.

To put it another way, try to imagine your organization as an apple tree that needs strong and healthy roots to allow for the buds and blossom to formif the roots (or culture) are unhealthy, the tree seems to be surviving but it will never bear fruit (or positive behaviors):

The tree of culture

What has this got to do with CD and DevOps adoption? To truly benefit from adopting CD and DevOps, you need positive behaviors to be prevalent, encouraged, and embedded so that they become the norm. For this to truly happen, you need the culture to be positive and progressive. You may have witnessed some of these positive behaviors being exhibited while exposing the elephant in the room, so this shouldn't be an alien concept.

But what about the environment? Again, going back to the horticultural analogy, for healthy roots (culture) to grow and remain healthy, you need fertile and enriched soil (environment).

The following diagram represents the relationship between the environment, the culture, and the behaviorsall of which need to be aligned and healthy for the adoption of CD and DevOps to truly work:

The Russian dolls of DevOps adoption

If this sounds familiar, then that's for a good reason. During the elephant exposure, you had already planted the seeds by setting up the environmentalbeit in safe greenhouse conditionsto allow for positive behaviors to surface. The cultureeven if it was for a short timewas generally positive and progressive. Due to this, you managed to expose the problems within your organization, thereby proving that with some effort and an aligned approach, you can produce results that otherwise would not have been realized. What you need to do is nurture this seedling and encourage it to grow, which can be harder to do than you think.

For all intents and purposes, true and successful adoption of CD and DevOps can be a pretty big change, and to some organizations it can be quite revolutionary. Throughout history, when it comes to cultural revolution, the acceptance and adoption normally resonates better with the general populace or those on the shop floor than the higher echelons. In terms of the tech industry, it's normally the engineers, testers, and other team members who are the ones to grasp and accept the concepts and benefits of CD and DevOps and will ultimately benefit the most when it's adopted. 

That's all well and good; however, the reality is that the power to make decisive change is normally in the hands of those individuals higher up the corporate/social food chain. It is therefore crucially important that your leadership has a clear understanding and appreciation of the benefits CD and DevOps can bring, and more importantly, how the environment, culture, and behaviors can massively help or hinder the successful adoption. We'll cover this in more detail later in the chapter.

As mentioned, behaviors can have an influence on and be influenced by the environment and culture. There are a few other factors that share this symbiotic relationship. The key ones are processes, communications, and tools and techniques, as depicted in the following diagram:

More Russian dolls of DevOps adoption

Let's briefly look into each of these.