DevOps can turn your company from an environment that is silo-ed to an environment which is well integrated and collaborated. DevOps is all about bringing all teams together so that the team members communicate in a common language and terminology. DevOps culture emphasises on frequent deployment of shippable products in shorter duration by automating all possible activities involved in development, build management, testing and deployment. While implementing DevOps, entire organization may look unsettling, but the benefits derived thereafter would be worth it. Majority of enterprises attempting to scale agile over the next five years will recognize the need for DevOps initiatives now.
“According to a recent study by Gartner, about 25% of Global 2000 companies are expected to adopt DevOps by 2016, and tools to support the work could be a $2.3 billion market by the end of 2016.”
If you are starting DevOps journey simply because ‘everyone is moving in that direction’ the success is very unlikely. Whether you have already started adopting or yet to take a dive into DevOps, it is important to understand your organization’s need for its implementation. Before introducing DevOps, it is important to understand where the organization stands in terms of current workload of staff, existing tool set, process maturity, product stability and present infrastructure in order to set realistic goals for each stream.
DevOps philosophy integrates various streams of an IT organization having matured processes, skilled manpower, robust frameworks and in-house tools. DevOps goes beyond technology management, implementation and calls for a high-end and deeper organization improvement.
Gartner quotes, “Rather than being a market per se, DevOps is a philosophy, a cultural shift that merges operations with development and demands a linked tool chain of technologies to facilitate collaborative changes.”
More and more organizations are coming under pressure to deliver value early. They are required to be fast-paced in their transformation journey to establish a more direct connect with the business. To combat this pressure, organizations are going DevOps route without understanding the underlying challenges. This whitepaper explains some of the key questions and factors, which need to be evaluated to address current challenges and realize true benefits.
In Agile environment, all the teams such as Business, Development, Testing, Operations and others need more agility as the businesses are becoming increasingly fast-paced. Most of the organizations are moving from traditional methodology to agile model but finally end up in hybrid agile methodology. Primary reason for organizations settling with hybrid agile methodology is because of their ineffective transformation strategy, distributed teams and unwillingness to shift from their comfort zone to adopt new methods, tools and frameworks.
Organizations yet to start their DevOps journey
In past, we have assessed few Organizations to see their readiness for DevOps implementation. Our assessment started with a set of fundamental questions to understand more about the Organization, methodologies, tools and processes. Below (Refer Pic 1) are some of those fundamental questions –
Pic 1: Fundamental Questions
During our interaction with the teams, initial response to above questions was ‘yes’. However, we realized that the response was provided based on many assumptions made without approaching key stakeholders in respective teams.
No structured approach is followed in organizations to consolidate feedback frequently from all the teams on important factors like quality, time-to-market, adherence to principles, processes, tools, continuous integration etc.
At Enhops, we use an in-house tool, which helps any organization to understand whether they are ready for DevOps implementation. The tool uses historical data to understand the data trends, patterns and processes provided data to produce helpful graphs like the one listed in below (Refer Pic 2).
Pic 2: Status of Key Factors
Organizations that have already started their DevOps journey
We have also worked with Organizations, which have already started DevOps journey and experiencing transformation challenges. Enhops’ in-house tool helps in measuring the maturity of key factors (Refer Pic 3) at required intervals with the help of pre-defined questionnaire. With our prior experience we recommend those organizations to revisit below key factors to clear roadblocks.
- Management: Management’s role is vital in large transformation programs such as DevOps because it is a sudden cultural shift across organization. Management has to foresee all the potential risks and create robust transformation strategy with interim review checkpoints. In addition, the transformation also has to consider enough budgets for training. Communication regarding less than usual productivity of the teams in this interim period will have to be clearly known to business and customers.
- Release Plan: As a practice, individual teams develop their own plans with inputs from a common release calendar. While developing such plans they fail to understand the interdependencies within the main stream development as well as maintenance. In order to overcome this challenge organizations have to develop an integrated release calendar which addresses the needs and goals of all teams. DevOps requires all streams to work as ONE team in order to achieve the common GOAL.
- People: Quality is everyone’s responsibility. That said, every team member should steer from the old school of thought to find better ways to streamline the entire process. DevOps mandates automating as many steps as possible from development to deployment to gain competitive edge. Looking inwards, the team needs to get a clear understanding on data model, environments, application code architecture and system architecture for successful DevOps implementation.
- Processes: The common perception is Agile = no documentation. This is not true! For a successful Agile implementation the organization has to ready itself with minimal yet robust documentation, matured teams and support from business & IT. Initiatives such as timely retrospectives, skill upgrades, tool optimization and technology stack reviews have to be introduced to ensure that the transformation program is on track.
- Tools: Right toolset is essential to achieve maximum automation in the DevOps journey. Market today is inundated with sophisticated commercial and open source tools which support continuous integration, test automation, continuous deployment and continuous delivery. Organizations will have to ensure they pick the right tools which are economic, maintainable and integrate with rest of the tools to achieve targeted result.
- Metrics: Enterprises start out DevOps implementation very eagerly and make major changes to infrastructure and release process without measuring their initial state. IT and release managers should identify key metrics & measurements and baseline it before starting DevOps initiatives. Even after implementation it is recommended to measure identified metrics at appropriate intervals to assess whether DevOps initiatives are a success.
Pic 3: Maturity of Key Factors
Picture 3 is a sample graph which represents the maturity of above listed key factors. It is recommended to quantify and baseline these numbers before any organization initiates improvements. It is extremely important to measure the progress at pre-defined intervals and analyse collected data.
It is concluded by many reports and companies that adoption of DevOps practice improves IT performance and culture of the organization. But, implementing DevOps in the right format can help your Organization to realize the TRUE benefits. Puppet Labs’ 2015 State of DevOps Report indicates high performing IT organizations deploy code 30 times more frequently and 200 times faster than their lower performing peers. They also have 60 percent fewer failures and recover 168 times faster.
Embracing DevOps is a long incessant journey. So, it is important to assess, analyse and then implement. Begin DevOps implementation with a careful explanation of its objectives, metrics and expectations of management. Provide necessary training to all the team members and then improve existing processes before you take a big leap towards another transformation.
For more details on DevOps transformation, please write to us at firstname.lastname@example.org.