Evolution of Technological Trends
Automation continues to be one of the largest trends we see in the DevOps Continuous Integration and Continuous Delivery (CI/CD) workspace. Throughout my career, I continually find ways to provide consistency, streamline, and automate the Application Lifecycle Management (ALM). I started the DevOps journey in early 2000’s on the operations side. We would find ways to improve deployment reliability, optimize systems, and reduce configuration creep. This fostered a collaborative culture between our Dev, Ops and Sec teams.
Automation has been crucial to opening up collaboration and allows us to move significantly faster and safer. Outside of culture, I feel that the availability of virtualization in the early 2000’s was a crucial turning point in our industry. It allowed us to automate processes never possible before, drastically reduce provisioning time, allow consistent environments, do more with less, and consolidate servers, to name a few of its advantages.
This decade has been about increasing velocity by breaking applications into smaller pieces, containers and the cloud. This “velocity” allows teams to deploy faster; if a team deploys faster, they can generate revenue faster, fix faster, and adapt faster. It’s a really exciting time, as we are getting rid of “traditional” bottlenecks and are now encountering the next generation of bottlenecks.
Challenges in Adopting DevOps
The main challenge is creating a culture that empowers teams to openly communicate, to collaborate with each other, to work in an agile methodology, and to achieve unified goals. The shift is for everyone in the company to start thinking what our company’s goals are and how to align our team’s goals to help achieve these goals. Another challenge is scaling DevOps in the organization. The way I look at it, the name DevOps is where the cultural change starts and not ends. The true transformation takes place when the rest of the business culture starts transforming. DevOps benefits the most when the whole business line is using the concept of let’s do what’s best for our company. If the company’s goal is to increase adoption, then that is now all the teams’ goals. To emphasize the point, team goals such as adding features, making money or even security would now need support and not supersede the company’s goal of achieving increased adoption.
Right Approach to Be Taken in the DevOps Process
Value Stream Mapping comes to mind as a great way to identify where to start the journey.
A Value Stream Mapping exercise helps in two major ways. First, it exposes where the true bottlenecks and wasted processes occur. Surprisingly the findings are typically different than everyone’s preconceived notions. Second, strategies to address these challenges are created. Additionally, a value stream mapping exercise helps demystify the entire process and jumpstarts the collaboration between teams.
Automation Being the Prime Focus of DevOps
I think everything is a candidate to be automated. If you’re doing a process more than once, then the second time, it should be automated. If you are not automating it, then there must be a strong reason. That’s the approach I take while tackling tasks.
Anything that’s repetitive should be automated as soon as possible. My perspective is, if the processes are not automated, the company is wasting human resources, their skills and overpaying smart people to do simple tasks. I constantly try to automate as much as I can, so that my teams can concentrate on productive tasks. Getting a task automated, allows it to scale well beyond the capacity of one person manually performing the task. Also, automation is not limited to Continuous Integration and Continuous Delivery (CI/CD) or even test automation. It’s about automating every touch point of the Application Lifecycle Management (ALM) process. A great way to identify all the touch points throughout the process is Value Stream Mapping exercise. Zero-touch automation is our goal.
Predictions for the Future
A lot of companies are now starting to adopt DevOps, though a typical challenge is understanding that DevOps is not a position, a tool, or even a process. It is a cultural transformation and not a new position injected into current processes. Additionally, while tools and processes may assist with the transformation, they are not required.
Having the development and operations team working together will create the synergy needed to start the journey. Typically where organizations run into the larger transformation challenges is when they expand the DevOps culture to the entire organization. A typical scenario is when parts of the business still operate in a waterfall model while DevOps teams work in an agile model.
If a company wants to employ DevOps, they need to understand that it’s more than just changing Dev and Ops; it’s about changing the culture across the entire business and making it work. If they are willing to embrace this transformation from a high level, then that’s where they really start seeing the agility and benefits of DevOps.
Getting a DevOps culture to work in a larger organization is definitely a possibility though there is no single answer. The typical challenge in large organizations is that not every team has the ability to embark on the journey. If teams are working in different locations, independent or in a silo, then the grass-root effort may not scale in the way their organization is structured.
A trend I am seeing is where organizations create a centralized DevOps best practice model. A dedicated center of excellence (COE) team would own the best practices, collect metrics,and support the adoption of the model. This approach allows the company to create centralized subject matter expert resources and a support infrastructure for the adoption of DevOps best practices. Note, to foster innovation, this model still allows teams to create their own processes as long as they comply with the established processes and guidelines. Overall, the centralized DevOps model increases collaboration, lowers the cost of entry and empowers teams not capable on their own to embark on the DevOps journey.
Piece of Advice
Remember to take a step back and understand the holistic view. For example, when reviewing a project, think beyond the intended deliverable. Can anything from this project be leveraged by the entire company? Then work toward fostering a culture of collaboration, teamwork, and shared goals to further this holistic view. After all, what is best for the company is best for your team.