How often have you heard the trope about software being delivered late, or over-budget, or with everybody involved with the project being stressed and stretched to their limits at some point? How often have you or your team experienced it?
If your answer is “Too ****** often”, you’re not alone!
So, is DevOps a magic wand that will transform your software and IT teams overnight? Unfortunately not, but let’s answer another question first, what IS DevOps?
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity.
More often than not, embracing DevOps means removing traditional separations and silos. At Torch, this means that our software developers, IT infrastructure owners, and internal software users work closely together; in one team (often with some of us wearing multiple hats). As you can imagine, this changes the software development lifecycle quite drastically. No longer does a developer need to wait a week for admin rights in a new development environment. No longer are our internal software users seen as the enemy! From design, to development, testing, implementation and improvement, the team works together, with a common goal in mind.
Secondly, our DevOps team has a high focus on automation. The idea is to automate tasks or processes that are manual and take lots of time from a human being, but that run often and have repeatable steps. This frees up time for our team to work on things that need more creative thinking, and can speed up development, testing and deployment. Of course, we aim to prove the ROI on any automation work we do, we won’t spend 20 hours automating a task that takes 15 minutes a month for example.
Next, we need to be able to measure the effects of the changes we make. How long does it take from design to deploy? How far out was our effort estimation? How quickly do we fix bugs? Once we are able to collate this data, we use it to further improve our processes and decision making.
Lastly, a good DevOps team is a team that shares. Knowledge, ideas, credit, and responsibility. It is critical to build a team and culture that helps people gel together, a team who shares a common vision, and who appreciates an all-hands-in approach.
We’ve seen it make a difference!