15 ways to check that you're ready for DevOps
15 ways to check if you’re ready for DevOps
DevOps has been around since developers and operations teams noticed a gaping hole in the application development and deployment process nearly 10 years ago. It didn’t, and still doesn’t make sense to develop applications separately to the team that deploys and maintains them. There had to be a better way of reducing the resulting messy releases, outages and poor customer/management experience and DevOps has since become a solution for these issues.
What is DevOps in 2017?
DevOps has been one of the most discussed IT areas in 2017 and many companies have now advanced beyond the point where they’re merely trying to understand what DevOps is …a movement? … a collection of concepts? … just a combination of Development and Operations? but hype and confusion about what it really is still remain commonplace.
In a nutshell, it’s about moving faster. Being able to run processes so that Developers and Infrastructure can work more closely together and where building, testing and deploying software happens quickly, often and safely.
IT departments can now make changes, find and fix vulnerabilities and deploy updates and patches faster meaning that security threats can be diminished. It also means that silos of differently skilled professionals can now work together as cross functional teams that can meet business goals much quicker
Companies typically implement DevOps to deliver better software faster but now that DevOps is becoming more commonplace, many organisations or firms are becoming less focussed on the DevOps practices and more on introducing a DevOps culture.
Increased efficiency in delivering software is a real bonus but DevOps might actually help you produce better software too providing increased benefits to the wider business, particularly in creating opportunities for innovation, testing new ideas speedily and being able to bring new products to market quickly.
We might even be at the point where business is expected to use DevOps and needs to provide an adequate business case for NOT using DevOps
Is DevOps the default now?
Most organisations use software, develop apps and innovate in their sectors and you might presume that they should be looking at DevOps but maybe it isn’t necessary for companies that only buy an IT service from other companies unless they start developing that product further themselves
Most enterprises have it on their roadmaps and have been preparing for the appropriate cultural and organisational change that DevOps will need but many are still running software projects using older approaches
DevOps is truly about people now rather than software and as organisations get to grips with digital transformation they realise how much more intertwined human beings are with technology in their companies. DevOps drives better software faster but it is really all about the people rather than the tech and must be customer driven
Are you ready to adopt DevOps practices?
Are you ready to change fast, develop fast, test fast, fail fast, recover fast, learn fast, and prepare for product launches fast?
Check our list below to see if you are ready to adopt DevOps now or need to prepare and deliberate further
1. Are you ready for Culture change?
You will need to achieve change in the whole organisation and for everyone to take responsibility for the full undertaking and not just optimise parts of the process. DevOps is not just a tech project and a new culture is necessary with methodologies and development processes that cover both developers and operations. The goal is to make everybody work together without silos or bottlenecks where they may exist in current IT processes
2. Do you have poor control over code release and configuration processes?
A move too soon to DevOps could actually make your problems worse!
3. How Agile are you?
It might depend on your size. Smaller companies are naturally agile and often have no choice but it’s not so easy for large companies who may struggle and not be able to fully exploit DevOps
4. Do you have the time and effort necessary to learn all the tools and techniques that make DevOps effective?
Commitment always leads to results and as such you'll need to put in as much as you can to get the best results
5. Will the relevant people accept change if you redefine their responsibilities?
Some developers may need to accept a higher level of responsibility for the production environment to ensure that their code doesn’t break anything and if it does, it is easy to fix. Operations have to be happy about handing over part of their role to Dev and giving them access to everything they need to be responsible for the production environment. Operations will also have to help create capabilities for Dev to create new dev, production or test instances and also create solid easy routines for backups/restores in case things go wrong
6. Are all teams happy to be cross functional and embrace an agile methodology?
Developers, testers, information/IT security and operations will have to work together to improve processes and automate where possible. This new way of thinking requires a culture change where these functions are used to working in separate silos
7. Do you have enough budget to establish a DevOps culture?
You need to secure the support of a sponsor that has the power to explain and steer both developers and operations in the right future direction
8. Are you happy to start up small and then scale up?
Try to find a project where a DevOps style of work would be beneficial/critical such as a microservices architecture implementation, and test and accept the tooling, processes and routines. Use the team involved as advocates and the project as a good model for a larger implementation and then it should be much easier to gain acceptance from a broader audience
9. Are you prepared to continuously evaluate and improve chosen processes, routines and tooling?
DevOps success is often based on continuous analysis and questioning of whether we have optimised efficiency
10. Are you happy to automate everything (within reason) so you can innovate more?
Automation should reduce human error, bottlenecks, be easier to perform and decrease dependency on key people being available BUT are you likely to meet resistance from employees who fear for their jobs?
11. Are you already knee deep in DevOps but don’t know if you are meeting your goals?
You’ve got to know whether you are increasing efficiency or not by measuring and analysing your data. Start with an easy to control short process or task where you have ‘control’ set of data and go from there. Common metrics you might like to measure are ‘deployment frequencies’, ‘mean time to recover’ and ‘from commit to deploy’. ‘Change Failure Rate’ can also be key to avoiding lots of errors or code that doesn’t work correctly and shows how many committed deploys are successful. Your company will need to find which metrics are the most important to you however and hopefully in time your DevOps team will be keen to prove how they have improved performance and totally transparent with their data
12. Do you support the Open Source movement?
Are you all willing to share your findings and collaborate with other departments willingly? To tear down barriers to improve efficiency? Learn from each other? Can you establish a culture of sharing that relates to everything including tooling, methods, knowledge, procedures and data, success (and failures!). The end result is being able to repeat successes and avoid failures whilst also avoiding blaming other teams so we can all move forward together to reduce error or incident resolve times
13. Are you even ready to make a few redundancies when adopting a DevOps culture?
Resolving inefficiencies and silo mentalities whilst creating ‘holistic’ teams have all the skills to go from idea to live delivery is what DevOps is all about but there are dangers that morale may be reduced if redundancies occur
14. Are you happy to retrain or hire new staff?
You’re going to need employees with skills in both Development and Operations which can be fairly rare so you’re probably going to need to hire ‘DevOps Engineers’ or retrain some of your staff which can take time and potentially reduce the competitive edge that you might initially have
15. Are you willing and able to implement new DevOps tools?
Once you’ve aced the cultural shift and you’ve got the right skill sets in your team you’ll need to assess which tools to use to allow for success. The right tools are vital and you are likely to need access to infrastructure, configuration management tools, continuous integration and delivery tools, monitoring and logging software such as Jenkins, Ansible, Chef, Puppet and Salt. But beware of spending vast sums with technology vendors peddling ‘DevOps’ solutions as they are often not necessary
Would you like a more indepth DevOps ready test?
You might find the online DevOps self-assessment tool from Microsoft useful which helps you assess your organisation’s readiness and provides guidance on your next focus areas
Do you really need DevOps?
You probably think that you do, especially if you’re overwhelmed by the volume of projects, delivery time constraints, demands for constant change and a continuous flow of dev and configuration migrations. If it helps you specify, design, develop, maintain, deploy and host applications and increase your ability to deliver on business requirements then it has huge advantages. It isn’t a walk in the park, however, and can be inherently complex, especially if you need entire teams just to implement it and a lot of time and effort invested in learning the tools and techniques to make it effective.
The stats certainly back up its implementation when high-performing IT organisations have 200 more frequent deploys, recover 24 times faster from failures, have a 3 x lower change failure rate and 2,555 times shorter lead times according to the State of Devops Report 2016 (Puppet and DORA). High performers spend 22% less time on unplanned work and rework and 50% less time on remediating security issues than low performers. Employees in high performing organisations are 2.2 times more likely to recommend their organisation to a friend as a great place to work.
So if you feel you’re ready ‘just’ ensure that you avoid any potential DevOps disasters by ensuring that your team are approaching their work by evaluating how they can support the IT objectives of your organisation, eliminate any inefficiencies, maximise impact and provide continuous delivery which meets the flexibility and agility necessary to meet constantly shifting customer demands. Good luck on your journey!