By Krzysztof Hakenszmidt
There is nothing permanent except change (Heraclitus, Greek philosopher)
What is DevOps?
DevOps is one of today’s buzzwords. It is not a technology, tool or innovative new framework. It is a philosophy or concept that is becoming increasingly popular as businesses that focus on application lifecycle management (ALM) realise the benefits of bringing development and operations together.
How can my company benefit from DevOps?
Given the increased time pressure in today’s business environment, many believe that DevOps is the best approach if you want to develop software faster and deliver it more frequently. The time saved can be used more creatively, accurately defining customer needs and increasing overall value.
To do this successfully, the business, development and operations teams need to break down the inter-departmental silos and work together. An atmosphere of mutual collaboration will not only improve the application development process, it will also help attract more skilful people to your organisation.
With DevOps, quality is everyone’s responsibility. Frequent releases mean early detection and prompt correction of defects. As a result, customers find your software reliable and your company worthy of recommendation. Brickendon’s own award-nominated DevOps methodology has been proven to increase software releases by as much as 45 per cent, significantly lower overall project costs, and give management a clearer and more timely overview of the project.
How to start?
Choosing DevOps is not a tough decision, however implementing any change can be painful and full of obstacles. Let’s assume you want to climb Mount Everest: how would you begin your journey? From the outset, a DevOps transformation is not so different from extreme climbing – by failing to prepare you are preparing to fail. So exactly how should you prepare? There are three key areas any company should consider when embarking upon a DevOps transformation: assessment, measurement and governance.
1 – Assessment:
People’s minds are changed through observation and not through argument. (Will Rogers, American actor)
DevOps is a union of people, processes and tools. It requires a detailed assessment of your business to answer the question: is there a demand for speed and velocity from IT? While this appears to be more of a rhetorical question, the answer will enable management to make a more informed decision when considering DevOps as a beneficial and viable option.
Web applications and cloud technologies are prime candidates for the adoption of Continuous Integration and Continuous Delivery principles, which both lie at the heart of the DevOps methodology. However, this does not mean that other or legacy apps based on less modern technology cannot take advantage of the DevOps evolution. The key initially is to ensure buy-in from all parts of the business.
2 – Measurement:
The heart of science is measurement. (Erik Brynjolfsson, American academic)
In an Agile world, change happens quickly. Implementing DevOps adds even more unknowns to the business success formula and it can often be difficult to ensure you are moving in the right direction. The key is to define your goals and then measure the progress towards them. While there are many metrics you could use to track your DevOps journey, practitioners highlight four functional areas that will help you choose Key Performance Indicators (KPIs) that are tailored to your specific needs:
1. Business Success
In order to agree on priorities and appropriate KPIs, it is helpful to consider the following questions: – how do you ensure that the software you are delivering is valuable?
– what are your business goals? and
– can they be positively affected by Continuous Delivery?
These questions should be answered by senior executives and key business stakeholders and, if answered correctly, should facilitate the creation of KPIs such as:
average revenue per user
2. Satisfying the customer
Customer satisfaction is the first, and most basic principle, of Agile working and there are plenty of KPIs to address this issue:
user growth rate
amount of time spent in app
3. Application performance and reliability
Even the best written software can fail when poorly implemented. Modern cloud-based architectures offer tremendous agility and scale, but also introduce complexity. Basic app slowness can be caused by factors residing on many different levels such as network, database or hardware resources. Catching performance problems requires a proper set of KPIs which, when properly selected, allow you to proactively forecast failures before they occur. The most common indicators are:
app response time
frequency of code releases
Mean Time To Recovery (MTTR)
When deciding on a DevOps transformation, quality is often raised as an important discussion point. However, thanks to the automated tests that significantly reduce the number of bugs in production, and more frequent releases that mean removed defects are more quickly visible to customers, DevOps performs well in this area. It is an obvious choice when thinking about Quality Assurance (QA). Moreover, KPIs focused on quality will most likely be the first measured evidence, demonstrating a successful transformation, ie:
- total number of defects
- error rate
- deployment success rate
Now you have assessed your company’s readiness to embrace DevOps and know exactly where you stand. Equipped with carefully selected metrics you are ready to begin the transformation.
How to successfully execute the change.
The speed of decision making is the essence of good governance. (Piyush Goyal, Indian politician)
A DevOps transformation requires a well-established and mature governance model. One idea is to work with a Managed Services Provider with a team of DevOps experts, who will initiate the change in a fraction of the time it would take an in-house team. Experienced practitioners are an investment on which a good return is almost certain. Regardless of whether you decide to hire an external provider, the first step should be to form a DevOps working group. Any change needs to be supported by a leadership team but implemented from the ground up.
Having a designated working group is one thing, but organising their work efficiently is a completely different challenge. You should start with simple weekly meetings and base the agenda around inputs collected from measured KPIs. Collected feedback will enable decisions to be made, daily obstacles to be dealt with and the direction of the transformation to be refined.
The journey matters as much as the goal. (Kalpana Chawla, American astronaut)
Implementing a DevOps culture requires time. The whole transformation is not about speed, but rather about the process of change itself. New tools and processes can be implemented quickly but changing the outlook of individuals within the business takes time.
Every organisation is unique and there is no one-size-fits-all solution for a DevOps transformation. As a result, your company needs to build its own inventory of good practices to facilitate the transformation and prepare for a future of working together across the business.
Brickendon DevOps expertise
Brickendon has significant expertise in this area, having been twice-nominated as finalists in the DevOps Industry Awards. In less than a year at one client, we successfully increased the number of global software releases by 45 per cent, to once a day from twice a year, and decreased business-impacting incidents by 43 per cent. At the same time, we delivered global asset class reorganisation to drive accountability and grow the relationship between IT and business departments, increasing employee satisfaction and the organisation’s ability to attract new talent.
Find out more about Brickendon’s DevOps expertise.