What is DevOps? Do I need it?

Agile, waterfall, wagile, DevOps... Which do I need, and why does it matter?

To the uninitiated, DevOps can seem elusive. If you're looking for clarification, read on as we cover the history, definitions, use cases, and methodologies of this agile-based software development and deployment strategy. 


A quick history of DevOps... 

Before 2007, the traditional software development model worked like this:  

  • Software coders in one department   
  • IT/Ops (deployment and support) professionals in a separate team   
  • Separate leadership, KPIs, and even physical spaces for each team   

Software development was inherently slow and siloed. Lack of back and forth between two departments meant releases were sub-par, work-life balance was poor, and there was an attitude of one-upmanship between departments.   

It wasn't working. Well-respected industry professionals sparked a conversation - how can we fix this? The two communities collaborated on a solution, and DevOps was born.   

 

What actually IS DevOps?   

DevOps is a portmanteau of 'Development' and 'Operations' - the clue is in the name. It's a software development practice based on agile working methods, and is framed by these goals: 

  • Increase speed of deployment 
  • Shorten deployment cycles 
  • Increase reliability 
  • Improve collaboration 
  • Increase security 

 

Where can DevOps come in handy? 

Without shared goals and visibility, businesses can quickly run into poor planning, misalignment between teams, and unclear objectives. When this descends into a 'point the finger, not my problem' mentality; progress, culture and output will suffer.  

DevOps can be a refreshing way to look at process optimisation, identifying and eradicating the barriers between development and operations.  

 

What is continuous integration in DevOps? 

If you take one thing away from this, remember that the key feature of DevOps is that it relies on 'continuous integration'. 

Continuous integration is a technique created by Grady Booch. It continually merges source code updates from developers into a shared mainline. Think of it like blockchain technology - everyone can see every change in real-time, as well as who made the change.   

The benefits of this approach are clear. A developer's local code can never stray too far from the centralised code repository. Bugs and incidents are spotted and fixed quicker.  

Deployments can be broken down into chunks and increased in frequency. In an environment using DevOps to its full potential, it's not uncommon to have smaller deployments going out multiple times a day! A far cry from a waterfall approach, and more intelligent than out-of-the-box agile.   

 

Where DevOps shines... 

Culture and collaboration  

Systems-focused thinking is the cornerstone of DevOps culture – it's the idea that your actions impact you and your team, as well as the wider teams involved in the release process. Adopting DevOps gives companies used to silo-based working methods the opportunity to modernise and undergo a cultural reset.  

 

Quicker and smarter, together   

Time is of the essence. Companies with poor/no automated test and review cycles suffer from poor incident response times, disparate tools and a lack of processes. By contrast, DevOps practitioners tend to release more frequently, with a higher quality and more robust output. 

 

Open communication and transparency 

Quicker feedback loops mean more successful teams. In DevOps, there's a strong focus on great communication coupled with complete transparency. The knock-on effect reduces downtime, improves customer satisfaction, and helps your teams resolve issues as quickly as possible.   

 

React faster 

Sick of unplanned work requests side-lining important project milestones? DevOps empowers you to react to unplanned work with recognised processes, clear priorities, more visibility, and proactive retrospection - whilst keeping planned work ticking along. 

 

I want to adopt a DevOps approach. What do I need? 

Pivoting to DevOps comes with a clear need for investment in infrastructure. A centralised server is required to continually extract source code changes from the development team.  

Adapting to new working methods and understanding can also be a challenge for some companies. DevOps is an agile approach at its core, but expands the scope to include high-quality development, continual feedback, and quality assurance.  

On top of that, employing designated operations specialists is key to collaboration and tighter integration. In many instances, companies have a development team structure where one or more team members focus on ensuring a domain-centric perspective. When adopting DevOps, it's important to place IT Operations Professionals within the team to remove any potential disconnect between development and sustainment.  

Ensuring optimal software quality in this collaborative environment also requires increased oversight. Quality Assurance and testing professionals placed within the team can identify and streamline bug fixing whilst speeding up deployment.  

For larger scale operations, branching out into DevOps security (or ‘DevSecOps’) can be valuable. The DevSecOps philosophy builds security into every stage of the DevOps lifecyle using concepts like ‘speed of delivery’ and ‘secure code’. This eliminates the need for an iterative, bulk approach to security assessments at the end of a project, which wouldn’t fit into the agile DevOps approach anyway.  

 

The bottom line - is DevOps worth the investment?   

DevOps is an approach, not a one-size-fits-all solution, so the above can only ever be a snapshot of the wide range of potential benefits. 

  • On average, companies that adopt DevOps see a 40% improvement in new business growth, according to a May 2016 survey by Coleman Parkes of 1,770 senior business and IT leaders around the world. 
  • DevOps (Continuous Integration) shortens the time to market for new products and features, so they can start generating revenue sooner. 
  • Early detection of errors can help eliminate the risk or limit the duration of application downtime, which costs Fortune 1000 companies $500,000 to $1 million per hour, a 2014 IDC survey found. It is estimated this figure has close to doubled in recent years. 
  • According to a 2016 survey of 25,000 technical professionals by Puppet and Dora, teams that deploy frequently spend 22% less time than traditional teams on bug fixes and rework; as a result, they spend 29% more time designing and building new features. 
  • Employees in companies that deploy code multiple times a day spend 50% less time remediating security issues, according to the survey by Puppet and Dora. 
  • Employees in companies that deploy code multiple times a day are 2.2 times more likely to recommend their organization to a friend as a great place to work, according to the Puppet and Dora survey. 
  • A survey carried out by Coleman Parkes found that DevOps improves employee's productivity by 43%. 

 

Hire DevOps professionals

Looking for a recruitment partner, or think you fit the bill for one of our vacancies?   

Speak to us about how we can help you find top quality DevOps professionals, or see our recent vacancies. 

 

SUGGESTED

  • For CIOs/CTOs
    Continue reading
  • For CIOs/CTOs
    Continue reading
  • For CIOs/CTOs
    Continue reading