What is DevOps?

As software development projects mature, the codebase tends to increase in size and complexity. Building and releasing work become challenging, and historically these things have been done by more than one team:

  • Dev (Development) teams change the code for the system.
  • Ops (Operations) then deploy those changes to production.

In the early days of a system this is fine, the software is likely fairly simple and well understood. However, as the project evolves and complexity increases changes become hard, deployments fail, fear increases, and knowledge becomes siloed in the two different teams. One way to seemingly reduce the pain is to release changes less frequently, say every 6 months, which may seem like a great idea but it solves nothing and you experience even more pain, just less frequently.

However, what if you could reduce that pain or remove it altogether? Well, that’s where DevOps comes in.

Person looking at two computer screens

DevOps is a cultural shift which aims to reduce problems caused by the ‘over the wall’ mentality that plagues software development organisations. It’s goal is to improve communication and collaboration between Development and Operations teams; breaking down silos, reducing pain and paving the way for successful software product releases. Specialists work together to create workflows, implement tooling and pipelines, and spread knowledge across the team to enable a smooth flow of work.

For many people DevOps is a team or a role, and this completely misses the point of what DevOps really is. It is a shift in mentality for individuals, teams and the business that needs to be developed. It’s the adoption of areas of responsibility by individuals that they typically haven’t been fully invested in:

  • Developers must care about how the project runs in production and own releases, typically a concern of only IT Operations.
  • IT Operations must care about and own the features and development of the product – typically a concern only of Development teams – and how those features make it safely to production.

This is not usually possible in a traditional organisation structure.

Benefits of DevOps

Faster release cycles

Possibly the biggest benefits of DevOps for businesses is the ability to increase their release cadence. It allows you to better respond to your customers, fix bugs and iterate your product faster. DevOps tooling and mentality enables you to improve automation for build, deployment and testing of the application, which in turn increases confidence.

Reduced friction

Removing cross-team friction significantly reduces the pain of releasing and running software. It improves the happiness of team members, increases productivity and removes a substantial amount of fear or resentment from the development process.

Improved quality and reliability

With improved collaboration, you are far more likely to catch potential issues early by having specialists who can spot unseen problems that will bite in production, breaking changes, or performance bottlenecks. These can then be addressed long before release. It’s also easier to improve system observability so the team can be made aware of issues, improving your MTTD and MTTR (Mean Time To Detection and Mean Time To Recovery) which keeps customers happy and the business operating smoothly.

Continuous Improvement

DevOps also goes some way to inspiring a culture of innovation within the team. Teams can be empowered by granting a certain level of autonomy to improve their daily work, investigating and implementing new tools and techniques to better serve the business and customer needs.

Person's hands and arms in foreground, with laptop and other person in background

Financial benefits to the business

This all leads to some clear financial benefits to the business. You increase the feedback loops, and can sense and respond faster to the business and customer needs. You experience less rework through increased collaboration – by having multi-disciplined workstream-aligned teams – allowing your development processes to become more efficient and experiencing less waste as a result.

To summarise, if you’re in a position where you can enable a DevOps culture and team members have the skills and autonomy to do so, there are undeniable benefits to making this a reality. To learn more and discuss how Box UK can help you, get in touch with a member of our team today.

About the Author

Nick Rowland

With 14 years' commercial experience of development in the web sector, Nick has developed and maintained websites for a wide range of clients from small start-ups to large international mobile and financial organisations. With skills in application development, server infrastructure and automation, Nick is ideally-placed to provide an experienced view from varying angles in order to help identify the best solution possible for clients.