It seems that the great new buzzword in the world of software is “DevOps”. Everyone seems to either embrace it or they want to sell it to you. But do you need it? Well, maybe not, but if you know just what it means, it might turn out to be something that you want. And it is something that can improve the lot of even a one person operation.
Put simply DevOps is software development and system operations working in harmony. Which seems to be an obvious thing to do. But traditionally in most businesses, one team made the software and a different team put it into operation. So these two groups ended up pulling the software in different direction. Breaking down the barriers between these two silos to enable them to work together is one of the main motivations that led to DevOps. Making the same people responsible for the both developing and deploying the software, prevents competition between the two aspects. As a result you end up with better software and it is deployed more quickly. This is because shorter development and deployment cycles give the teams better and quick feedback. And so, the software becomes better and more robust.
However, all these benefits and process seem geared towards large organizations with perhaps multiple teams of programmers and system administrators. Can this apply to a small business with only one IT guy? Surely, if the there is only one person doing everything, you already have DevOps. Well, the answer is not clear cut. One thing that all the experts talk about is the importance of culture and philosophy in applying DevOps to an organization. Or, in other words, its not enough to have the same people doing development and deployment. They also need to approach their work in the right way.
For example, one of the most commonly cited example of DevOps is a build pipeline. Here, the process of building, testing and deploying a program is automated. This allows quicker feedback on changes to the program and faster updates to the end users. The result is better software. While this may not apply directly to you, the key takeaway is how this thinking can be appliedto your own business processes.
So DevOps is not just adding a build pipeline, or merging teams. It is rethinking your approach to the software that drives your business. Done right, it can make your critical software work to fulfill your business needs.