DevOps is Not Enough!

DevOps is Not Enough!

I go to a lot of networking events and talk to a lot of people, and I am never surprised that most people just don’t understand how to fix their software delivery problems. Most companies understand they have a problem, they just aren’t sure how to go about fixing it. One of the ways many of them have tried to solve the problem is through DevOps. But, they are still experiencing a challenge in getting their products to the market on time, bug-free.

The real problem lies in the fact that DevOps is a tool, not a process. So, it is being misused to fix a problem it has no way to fix. Why is that? Well, let’s get some background first on what DevOps is and how it helps companies.

What is DevOps?

I define DevOps as a cross function between development and operations. It brings these two entities together so there won’t be any gaps between development and releasing code, and operations and configuring environments. You typically are looking at what used to be (back in the old days) three roles now rolled into one: Developer, Release Engineer, and Systems Admin. The reason they came up with DevOps was to consolidate those roles so that Release Engineers didn’t have to wait for the Sys Admin to get the environment configured, and the developer doesn’t have to depend on the Release Engineer to release the code. It is all rolled up into one role so that delivering code into production is supposed to be seamless.

How Does DevOps Help Companies?

DevOps basically puts everything under a strategic process, by way of tools to deliver code. It is an efficient, timely tool that supports organizations to get their code out on time. There is an automation piece so you can configure your environment through different tools, Like Chef and Puppet, etc.… and not rely on a Sys Admin to configure those environments manually.

What are the Shortcomings of DevOps?

It is so hard to find one person who can manage the DevOps process and tools. The role is often misinterpreted; you just can’t always find a person who has development, build and release engineering, and system administration experience. It is almost unheard of. It has become this shortcut for organizations thinking, “Hey, I can roll three roles into one and save money.” But often, it ends up costing them in the end. Here is why -- the process piece.

Does the DevOps group/individual understand the process from cradle to grave? Who is managing this whole process, the change management, the change control, the gatekeeper of the software development life-cycle process? No one is monitoring and ensuring the developers are doing what they need to do, that the build and release portion is managed with issues being controlled, and no one is managing the environment(s). Companies usually have a DevOps person using a tool that gets them from A-Z in developing, but no one is there for the in-between.

This is causing a breakdown in getting the products to the market quickly and without bugs. And because of that, companies are required to produce a lot of rework, costing money and man-hours. But there is something that can help.

How SCM Solves the Issue?

Software configuration management (SCM) is not a tool. It is a process, a methodology. Most companies try to get around SCM because they worry it slows down the delivery. But imagine playing a video game, let’s say Call of Duty. How frustrating (and a waste of time) would it be to have to start over at the beginning of the game every time you die? That’s why video games have checkpoints, so you don’t have to start all over. Think of SCM as the checkpoints within the software development life-cycle.

A good SCM process ensures that developers are checking in code properly, managing any issues that occur, pointing out issues as they occur, ensures that the environments are stable, ensures that when going to test that there is a solid change management process, and is the checkpoint from test to production.

What SCM does is reduce rework, and improve the viability of the final released product. Companies need this process in order for DevOps to work properly. If no one knows how to do it properly, or no one is managing the whole process, then DevOps will miss some key steps in the development process, which could cause code to go out before it is ready.

In short, organizations have a problem with software delivery. It is a business-performance problem that is impacting the bottom line. And SCSI team believes that SCM as a service is the solution. Learn more about how SCSI can help.

To view or add a comment, sign in

More articles by Willie Pee

Others also viewed

Explore content categories