While there are likely as many buzzwords in the technology field as there are technologists, the evolving concept of DevOps is one you should pay close attention to.
Webopedia defines DevOps (development and operations) as “an enterprise software development phrase used to mean a type of agile relationship between development and IT operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between these two business units.”
While the principles of agile may or may not be involved, that’s a good broad definition. By implementing the principles of DevOps you will be more likely to release software in a more agile fashion.
Can’t ignore culture
The guiding principles of DevOps include culture, measurement, automation and sharing. The first principle, culture, often is the hardest one to implement. We all have our comfort zones and want to stay in them. Change one variable, and one’s rhythm can get thrown off.
Any organizational change can be difficult and must be handled carefully. Executive buy-in is a critical first step, as are finding champions in each department to serve as cheerleaders. Even if everything goes smoothly, some people won’t be happy. To find success, DevOps should include shared responsibility and ownership among stakeholders and development, QA and security staff.
Think about the competing interests among stakeholders. Operations staff wants stability, while developers want to program at the speed of thought and QA staff want to reduce risk. Most important, executive staff want a usable product for end-users. Achieving these often conflicting goals can only be achieved by teams working together to deliver on the organizational priorities.
DevOps worth the challenges
The goals of DevOps span the entire delivery pipeline, making buy-in from across the organization critical. The goals include:
· Improved deployment frequency
· Faster time to market
· Lower failure rate of new releases
· Shortened lead time between fixes
Before beginning any implementation, stakeholders need to think through what DevOps means to the organization. Will DevOps result in faster product delivery through automated builds and testing? Continuous testing /integration (“fail early”)? Quality testing before moving to production? Release/deployment management? Increase the velocity of new releases to the market place?
Gartner predicts by 2018 that more than 50% of companies that are using DevOps will not be delivering the value outlined in their business cases. While culture was not specifically mentioned, the alignment of people, process and technology cannot be ignored. Asking the tough questions early and being honest about the answers can help define an achievable business case. If you don’t clearly define what your goal is, the effort will fail.
If goal-setting is step one, then picking the development tool(s) that best match up with your goals is the second step. Don’t underestimate this step, either. There are 60 or more development tools on the market, each with distinct advantages or disadvantages based on your goals, development timeline and budget.