Written by: Jordan Jurkowitz
What is DevOps?
In life, there are concepts, terms and tools that mean different things to different people. In some cases, “abstract” means something is vague; in others it refers to a summary of something. Likewise, in baseball, “ball” can refer to a pitch that is not a strike. Or, it could simply refer to the actual ball in play.
DevOps is similar. At its core, it’s a way to merge Development and Operations. The benefits of a DevOps Model are increased agility, speed in development/delivery, enhanced reliability, greater scalability, better security and greater collaboration. However, DevOps doesn’t have purely defined methodologies or practices to accomplish this; rather, it’s a group of practices and principles.1 It’s based on changing behavior, not implementing a specific tool or product.
In most organizations, the typical set up of IT Departments used to be keeping different groups segregated from each other. An engineer focused on engineering solutions; a developer focused on developing the product; a tester focused on testing the product, and the departments spoke only as required. This often led to bottlenecks and delays in completing a project throughout the SDLC.
Testing is a great example of such a bottleneck. In a traditional SDLC, testing is a singular phase and often falls late in the project lifecycle. This approach makes things difficult because if flaws are uncovered, it’s more challenging to figure out where the issue arose and what the best solution would be. Since the testing phase often comes close to release deadlines, it’s a nightmare waiting to happen.