An ever increasing among of organizations are moving to a DevOps way of working. More often than not, this comes with challenges for both organizations and employees alike. This blog post will cover the top 5 challenges of the DevOps transition in End User Computing (EUC).
Scope and challenges
Now there are multiple disciplines in the world of IT. When working with multiple disciplines, it is clear there is a huge difference in approach and mindset. For example, for developers adopting a DevOps mindset is less of a learning curve compared to a Windows sysadmin. Therefore the scope for this blog post is in the context of End User Computing (EUC). Based on experience this is the group that struggles a lot with adopting a true DevOps mindset. The following 5 items are collected from Twitter interaction from a couple of weeks ago:
At first, thank you all for participating in the conversation. To summarize, the following challenges are most submitted:
- People and the mindset
- Complexity and skillset
- Change in way of working
People and the mindset
The most submitted by far are the people and the mindset. This is the fact on every level within the organizations, from management to the workforce and is clearly the biggest challenge of the DevOps way of working. Without having the proper mindset, it is almost impossible to adopt DevOps successfully. Now, this is caused by a lack of understanding. The IT world is complex with a lot of dependencies which is always under pressure of time and budget. Unfortunately, there is no simple patch that can be applied to fix this challenge. But it has to start with education on all levels in the organization. Facility by coaching and create room to fail.
A starting point will create some principles in the way of working and create the end goal. For the best adoption, this should be created by the team itself under the correct guidance. To create a better understanding of the teams but also with management, it is crucial to share your journey. Share what the team is experiencing with and try to facilitate some insight into the complexity of the landscape. When doing so, this often will create understanding and comprehension.
Complexity and skillset
It is often in a larger organization some sysadmins are doing the same thing over and over again which results in a low skillset limited to their scope. When introducing DevOps a new world of complexity is introduced resulting in resistance due to the knowledge and experience. From my personal experience, by providing the correct guidance it is possible to educate on these techniques. Again, it is important the team and individuals are open and willing to learn, otherwise it will never work.
When coaching a team, it is important to create an environment where there is room to fail. Failing fast is the best way to learn. Some prefer to follow a course but in the end, you will learn fast by getting your hand dirty. It is also important to create involvement. Ensure decisions are made by the entire team. Now a common pitfall is there will be a lot of discussions without any outcome, so therefore it is important to create a format where decision-making is facilitated. A nice example format is ADR’s, architectural design records. This can be prepared by an individual or couples which will be proposed to the team. This way a decision is well prepared and facilitates a mutual team understanding which is documented for later reference.
Change in way of working
Change is often forced by various outside factors. This can be done personally due to life choices, forced by an organization due to various reasons but also by vendors. With the introduction of Windows 10, there was a big change in the release cycle, going at a way higher pace than before. This forces a lot of sysadmins to continues work on new releases of Windows. Now, this also backfired a bit as there was a lot of reticence forcing Microsoft in providing a longer support cycle for specific releases.
Change can be hard for people resulting in reticence. There are many types of research out there about changing behavior but this is often caused by motivation or techniques. Motivation is very personal but can be facilitated by providing coaching. Now, this cannot be done within a single day, but the fact is the world is moving.
Techniques or technology is a separate topic, but it is important to have an open mindset for new techniques. By technical guidance, techniques can be taught. But again, it is important the individual is willing to learn.
In the end, it is important to create understand the result of the change. For example, working in a DevOps way will result in traceability and stability. This is, of course, depending on various factors but in providing these goals or principles a mutual understanding is created.
Working with new technology might be scary for some due to the lack of understanding. Some people think they are less smart compared to others or are embarrassed they don’t know it. It is so important to avoid this behavior in the organizational culture because this will cause an impediment to learn a new technique. Like mentioned before, you will learn by failing. It is important to nurture a safe environment where people can fail from both cultural and technical perspectives.
Due to the fast pace of new technology is important to provide the time to explore. This can be done by reading what is happening in the market but also getting the hands dirty by just trying out.
This was an interesting topic, supportability can be seen from multiple perspectives. This can be the supportability from an organization and technical perspective. As mentioned in other topics, an organization should support the employees, but the big question are they willing to invest?
From a technical perspective, you probably will encounter technology that will not fit in the DevOps way of working. It is always important to start the conversation and share your vision and the impediments to eventually find the correct way to use the technique. It might happen some vendors cannot adopt this, which might force you to look for alternative solutions.
In the end, it is always important to create the let’s do it vibe exploring the possibilities of making it into.
Getting an organization to a DevOps way of working is complex but the biggest limiting factor is the people. It is important to create a buzz around the change and ensure the entire organization is there to facilitate it. Don’t be afraid to fail, as this is the fasted way of learning.
Ensure to create a can-do mindset and keep repeating the end goal to create a mutual understanding.
do you have some golden tips that might help an organization or individual in the DevOps way of working? Please share them below in the comments.