Inspiring the DevOps Culture
Welcome fellow engineers! Welcome fellow people interested in technology! The following is Part III / III in a series of blog posts to inspire software delivery projects to practically implement the culture of DevOps. Here is a quick summary with links to the other parts…
Part I: Defining the term DevOps within the application lifecycle
Part II: Defining the culture of DevOps and describing its results
Part III: Practical actions you can take right now to start your DevOps journey
What can you do right now?
The journey to applied DevOps is a long one, mainly because people take time to change and leadership need to understand the benefit. Saying this, you can make steps on this journey right now. What can you do?
- Ask questions: It could probably make your job easier if you find out what the other roles do, you might be able to fix the bug in the right way or enable a tester to complete their tasks faster.
- Be the change: Without avoiding the cliche motivational phrases, imbibing and promoting the new culture is invaluable to show leadership, with DevOps, we deliver better quality with greater speed.
- Learn about automation: There are most likely manual steps that you have to painfully carry out in your delivery — document them or automate them. Tools like infrastructure as code or even simple bash scripts can enable processes to become snappier and more reliable.
We have reached our destination, the sun is setting and the day is coming to an end. I want to share with you how you can inspire the culture of DevOps in your development teams to have the greatest impact on software delivery. It is the culmination of many years of personal experience and many lessons learned with client projects.
I am grateful for the opportunity to have worked with a number of DevOps client projects during my time working at a large technology consultancy company. We have worked with a number of clients, across a variety of industries, to transform their DevOps tooling and strategy. The following are some practical techniques that we have implemented on projects.
What can you do right now?
In Part II, we discussed the results of implementing the culture of DevOps, I want to talk about three things that you can do right now to start manifesting these results. I have kept them general so that you can implement them in your projects and feel free to adjust them to your specific circumstances.
- Ask yourself, what do they do in other aspects of the stack?
Start by having the curiosity to find out what other roles do as a part of a feature delivery with the intention of finding out more about them. This aims to help you to get a basic understanding of other roles within the application lifecycle. It might not sound fun (because you have to talk to someone), at the same time it might make your job easier. You might learn how to fix a deployment issue, or you could make a testers life easier by learning what exactly they carry out in their tests. Perhaps you might also be able to solve a problem that you are struggling with, it will give you the opportunity to up skill in those areas.
- Automate the manual because DevOps is about automation
There are few regrets I have in life and one of them is not doing the right thing because it takes too long, which means that I took shortcuts. Shortcuts usually leads to a growing pile of technical debt or manual processes that come back to bite me. Look for opportunities to automate, refine or redevelop manual processes because they will help you in the long term. Most of you who are reading up to this point probably get it already, and so you have to help the business understand the value of DevOps, which brings me to my last point.
- Lead in adding value by implementing DevOps
Most company and project leaders that I have worked with still don’t quite understand the abstract concepts of DevOps and so I wrote this series in the hope that it will shine a practical light on DevOps culture. Share it with those who need some help in understanding. If you show the key stakeholders how much value can be added with DevOps, by bringing better quality with greater speed, they might understand the practical value that it can bring. It is most important to relate what you do to the values of the business. Doing DevOps right is the key differentiator of the disruptors, who implement this culture naturally, to slow project traditional IT projects. Take up the flag of DevOps and plant it within your business.
I wanted to include aa section here for some practical ideas that directly relate to the results that we described in Part II of the series.
Mob Programming — A great way to encourage the team to learn about new things is to hold deep dive sessions into other technologies used within the application lifecycle. In one project that I worked with, we introduced these sessions to get engineers up to speed with new technologies that we were introducing (for example HashiCorp Vault for secret management). This helped everyone understand the technology and how it impacted their workflow, providing them with useful ways to manage secrets securely and centrally. This can also be held through “Lunch and Learn” sessions. Mob programming gives all aspects of the lifecycle a tangible entry point to collaborate with each other because it builds up knowledge within a capability.
Team Building — A culture of trust is founded on the principle of having an empathetic team. This feeling can be developed by having team building activities, and it could be as fanciful as an away day or as simple as retrospectives. I was a part of one Agile delivery project which transformed the way we ran Sprint Retrospectives by running a variety of activities to get our creative problem solving skills working. It completely changed how we identified successes and areas for improvement, meaning that we were all happier working together and understood the pain points of each member of the team. Team building activities creates bonds between areas of the application lifecycle which become invaluable to a trusted delivery team.
- Knowledge Sharing
Conference Attendance — We have mentioned a couple of ways to share knowledge throughout the team: “Lunch and Learns” or mob programming sessions. Another way to improve the skills within the team is to encourage them to attend conferences because they will be exposed to a number of different capabilities and technologies. It creates curiosity with new technologies which then each team member spend time to research about other areas of the application lifecycle. It reinvigorates motivation because the team feel that they are being invested in and that their skills are being developed.
And that’s a wrap
First of all, thank you. It takes time to read through all of what I had to say, and I appreciate that you spent your time with me. I want to quickly summarise the key points that I made throughout this series in some snappy bullets:
- DevOps: Create the feedback loop and shorten it
Use the stages of the application lifecycle to identify areas where the feedback loop is a bottleneck and use The Three Ways to shorten the loop
- DevOps Culture: Create a connected DevOps team
Each team member delivers value to the global business goal because they work in a collaborative, empathetic and knowledge sharing environment
- Results: Well practised and independent
The DevOps team is self-sufficient and each member is able to empower their role through knowledge which leads to high quality assets
- Do it now: Lead by example
Practical application of the DevOps principles and ways of working is the most impactful of demonstrating its value to businesses and projects
If you were to take away one thing from these blogs and try to implement it in your project, what would it be? This would be my take away:
The DevOps culture is about creating an environment where we are awarded for taking risks, experimenting and sometimes failing, because, when my team is empowered with the knowledge of itself, it creates a culture of empathy to deliver my business goal faster, with better quality and more value-add.
This is what I want to give to my clients because, over and above everything else, it will be the most valuable change they can implement in their stack: DevOps done the right way.