Today businesses are working in more agile and digitally connected ways. What’s more in the case of new software development projects, DevOps is a buzzword that chimes with this sentiment. But what does it mean and how should we view it? Is it a job role? Is it a team? A product? A vision?
Quite simply, DevOps is a mind-set. When companies choose to expand development across the organisation they are driving collaboration. This adds powerful value back to enterprise leaders, who have the interests of the customer at heart. What makes it a mind-set is that its success depends on a combination of people and behaviour changes.
Just as a great team will be diverse and draw on different expertise to tackle business obstacles; combining development and operation focus brings a fresh perspective and experience. Whilst this makes the end result, product or service the best it can be, it is an approach that goes deeper than processes to succeed.
Take an entrepreneurial experience. You have a great idea and a vision, and you can make it happen. There are no real barriers anymore. You can configure the business so teams are not siloed and the latest techniques and tools are being adopted to ensure lines of communication are good. You can train staff and invest in an agile approaches to planning and development that will support all you do. Code can usually be quickly integrated across the organisation, so everyone is working to the same goals. But as any founder, business leader or implementation team will advocate, this isn’t always easy to achieve and people based challenges will arise.
DevOps started life in chat forums and Silicon Valley coffee shops as an alternative approach to alleviate the tension that existed between developers and operations. Nearly eight years on and it is more formalised, complete with clear pillars and principles. It is a tremendous achievement for the approach that some of the most disruptive (and successful) companies are advocates of. This is largely because DevOps works and can be measured to accountable KPI metrics.
Recent figures on DevOps led organisations to deploy code 200 times more frequently than others, with 2,555 faster lead times. They also have fewer failures and when they do fail, 24 times faster recovery times.
In businesses ranging from Etsy to Netflix and Sky Scanner it is the norm for every software developer to think like an operations expert and for every team member to embrace the need and timing for automated testing. As a result, every part of the business benefits from a continuous flow of delivery.
One step back, two steps forward
Continuous delivery is the big consideration when it comes to DevOps adoption. The software sector was previously under pressure to deliver perfection first time for each new product, service or new feature launch. Now there is the flexibility to iterate and improve as you go.
This ability to release and re-release reduces risk, and enables products to be defined and evolved in a totally different way over time. With structured lines of collaborative working the discovery of a bug or glitch can be solved quickly, and treated efficiently, so customer support can be connected to development, and problems can be solved quickly.
Despite its profile, DevOps is often misunderstood, and some of this confusion arises from perception because DevOps is not (as yet) a simple solution businesses can buy as a tool or a process. Achieving such a cross-functional way of working requires big thinking. For many this is a sizeable investment in thought leadership and resource, as it involves behaviour, culture, teams and products. It is more than development and operations.
However, the rewards can be significant. Strong teams produce more content, launch more products, and sign more customers; they are productive, supported, rewarded and challenged.
There is currently quite a lot of noise in the DevOps space, which can cause confusion and hesitation when it comes to its adoption. This needn’t be the case. Below are the three top tips any business should follow when looking to adopt a DevOps approach.
Tip one: extend customer-centricity to the entire system
Traditionally development builds, and then ships to operations. DevOps is all about shifting our thinking from reaching the goals of one department to seeing the entire system from the customer’s perspective. When your team successfully achieves systems thinking, you will never pass a known defect on, which will strengthen the value of your business service to your customer.
Tip two: view communication as the key to collaboration
By improving feedback between developments, operations, support, and customers, teams can clearly understand their impact on the overall business goal. Clarity and communication between teams breaks down barriers, improves productivity and reduces conflict. When teams work together from the same feedback loop, communication breakdowns become a thing of the past.
Tip three: create a blame-free culture, which quickly identifies and corrects problems
Whilst it goes without saying that failure isn’t the end-goal, in this case the old adage “what doesn’t kill you makes you stronger,” could indeed be food for thought. By creating a safe environment where failure is accepted, but this failure can be quickly and easily fixed, you will provide a valuable protection for your business. And in the long term make the offering stronger.
In conclusion, whether you are a founder, a leader or an ideas contributor in a software-centric business, you will likely be concerned about alleviating any tensions between development and operations. As an approach here, DevOps is certainly a worthwhile investment. So, while DevOps is undoubtedly a tech-heavy concept and discussion point, it is vital not to label it in this way. Instead, the opportunity is to consider it for what it really does: it is helping enterprises of all shapes and sizes adapt and change the way they work, so they can deliver value a great product or service to their customers.
Image Credit: SFIO CRACHO / Shutterstock