DevOps Culture: A Huge Step for Mankind
In order to perform well, the company should be comprised of departments concentrated on performing their tasks. Effective interaction between these departments is what drives the DevOps culture. How to achieve this goal?
However, sometimes the goals of departments are really contradictory, like with development and IT operations departments. DevOps methodology helps solve this challenge, but the shift to it is quite hard, and not because of the need to master new tools.
The main problem lies within the need to drop the old ways of doing things and adopt new practices like the collaboration of devs and ops engineers, switching approach from separate siloed tasks and responsibilities to interchangeable teams with common goals, unified toolset, and mindset. This is exactly what DevOps culture implies.
The hard thing about this transition is retraining the culture, and this cannot happen on its own or by employing the internal talent alone. In one of our previous articles on starting using DevOps in enterprise VS startups we described the preferred scheme of actions:
- Instating Centers of Excellence, where external specialists help the talents from the company staff to master the DevOps approaches and shift to a new workflow. Later on, these talents will help their departments transform and adopt the new ways of working.
- Splitting the software into microservices, to turn a solid structure needing massive upgrades into a group of separate projects that can be updated independently of each other and require a much smaller team for effective development.
- Adhering to a “you build it — you run it” principle, so that developers think strategically and build the software in a way ensuring the best performance on the infrastructure they have to maintain themselves. Ops engineers are not limited to the infrastructure maintenance and participate in the full cycle of software development, building, testing, and deployment. This way
The path to DevOps culture in enterprise business
Why do we consider the shift to DevOps culture so important? Well, this actually is the key to survival for any tech company nowadays. As a famous quote from an American engineer William Edwards Deming goes, “It’s not necessary to change. Survival is not mandatory”.
Customer loyalty is the key to long-term success of any company. Word of mouth is the best advertising, and positive personal customer experience is what boosts advocacy for your brand. Positive personal customer experience requires short feedback loops and quick introduction of the needed features. This, in turn, means rapid software design, development, building, testing and delivery to production, which is literally impossible without DevOps methodology in place.
Gartner’s Director of Research, Ian Head has said back in 2015 that “by 2018 9 out of 10 companies aiming to adopt DevOps tools without adopting DevOps culture will fail.” However, in order to be able to adopt the DevOps culture, the business must first determine the existing organizational culture and evaluate its effectiveness in achieving the existing business goals.
There are 4 main types of organizational cultures, and while not a single organization will ever adhere to a single type of culture, the percentage of different types in the mix is what actually makes each business unique:
- Clan culture. It is centered at collaboration within the team. The main thesis is that keeping the team members satisfied and committed to a common goal is crucial to ensuring high IT performance of the business. The main source of effectiveness is the participation of the team members in the decision-making process and the team leaders are the mentors and coaches, centered at helping the individuals and teams to improve and move forward.
- Adhocracy. This is the breeding force of startups when the biggest value is given to the innovative solutions that open new business opportunities. The teams with this culture should be agile and adaptive, quick with adopting innovations, and the leaders are innovators and visionaries able to inspire their staff.
- Hierarchy. This type of organizational culture is centered at following the rules to ensure the timeliness and efficiency of the processes. The teams value task delegation to remove redundancy and eliminate waste, thus increasing productivity. The leaders are organizers oriented at overseeing strict workflow allegiance within the team.
- Market culture. This approach to business culture honors competition, both internal and external above all. The teams are aimed at constantly improving their results through devoting more effort in over to grow as a team and gain a competitive advantage over other market players. The leaders in this culture must be good at multitasking and invigorating their teams to achieve the goals despite any obstacles.
Determining the existing organizational culture type will allow highlighting the strong and weak points of the existing business workflows and attitudes. This will be the basis for designing the plan of the transition to DevOps culture.
What should the transition process look like?
- Form mixed teams, set common goals, provide common toolset. The same team should be responsible for the full software and infrastructure lifecycle, not for its parts like software development, QA, deployment, and infrastructure maintenance.
- Support knowledge sharing. This is the most important part of the process. After years of building separate silos of skills and responsibilities, it’s quite hard for your employees to begin cooperating and collaborating with their counterparts from another department.
- Make the change incremental. It’s impossible to begin working in a new way at an appointed date. The process will take some time while trust and mutual understanding build within the teams.
- Make sure everything that can be automated is automated. Writing unit tests can be a boring task, yet done right once it saves hundreds of hours of tedious manual labor. Applying this approach to all aspects of the software delivery pipeline helps automate the mundane tasks, so instead of firefighting daily issues, your DevOps engineers are able to think strategically and improve the infrastructure, the software delivery process, and your customers’ experience.
Such transition will not happen itself, of course. The company management will have to hold several explanatory meetings and clearly outline what changes are expected, what timeframes are set and why this all matters. Hiring external specialists on DevOps transition is recommended to work on Centers of Excellence and further foster the DevOps culture adoption across the business. These actions do take much time, effort and resources, but they pay back tenfold in the long run.
The software will eat this world. Would you prefer to be the hunter or the prey?