Of late in the software world we have heard the hot buzzword “DevOps” used and abused oh so often. In addition to grappling with the new influx of philosophies, ideologies and methodologies like Agile, Kanban, Scrum, Scrumban, XP, TDD, BDD we are now faced with dealing with the term: DevOps.
So what is DevOps?
DevOps quite simply is the marriage (hopefully a happy one) between Development (software development) and Operations (IT operations – build, package, release).
To understand this in greater depth, we really have to understand the need for this synergy between software development and operations. Agile introduced a paradigm shift in the software development world. It emphasizes the need to deliver business value to the customer incrementally through regular releases of working software. This reduces the time to market and enables Agile teams to accommodate change requirements by the client.
This is turn means that the traditional IT operations where the build, package and release of software was done at the far end of the project has to be to now be done in regular intervals too. In order to be able to do that there was increasing need to set up tools and automate the entire process of integrating the code( continuous integration ) and deploying the code (continuous deployment) to various environments (test-staging-production: pipeline).
In the past, just like we had separate quality assurance (QA) teams, there used to be separate teams (often called Release management team) that used to handle the software releases to production. In order to improve the velocity of the team (the pace at which the team can deliver quality working software), Agile and particularly Scrum encourages self organizing and self sufficient teams. This means that now each team has expertise to analyze, design, implement, test and release the software all within the team. This in turn has encouraged developers to become cross functional and learn to implement the CI-CD pipeline through tools and automation.
We, at Balystic, believe that the Agile maturity of an organization can be judged by how frequently and confidently the teams can deliver working software which in turn implies how strong their DevOps is.
Stay tuned to know how we handle our DevOps – what tools we use and how we use them.
Liked this post? Follow us on Facebook and Twitter for tips and tricks, news, and a peek behind-the-scenes of Balystic.