Happiness is DevOps’ Cornerstone
DevOps is definitely a culture. I think it’s the new Agile in many ways, and that’s OK. So we’re tech-savvy and we usually delve in tools and processes when we talk about DevOps. But we often forget the most important part, the people.
Wikipedia defines DevOps as a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably.
When we talk about people, we often focus on communication. And this is important! But how often do we stop and ask, “Are you happy?” This may come as a shock, I know it did for me, because I strive for objectivity and continuous improvement when I work on projects. So much so that one day, a colleague of mine reminded me that people aren’t compilers… interpersonal relations are tough. Communication is just as hard. And even though taking time to reflect on happiness can seem like a waste of time, I think it’s actually the first step in the right direction.
Understanding why we have insecurities, frustration and anger helps us do something about it. For example, when I run a stand-up, I ask each person how they are doing today. Then I ask “what didn’t go well?” And finally I ask “What can we do about it?” This helps the team try, reflect and course correct as the project moves forward. The impact is significant. It can surprise us, because moral goes up and the overall dynamic of the team improves drastically. And best of all, the passion that once drove us, makes its way back to our lives.
Happy teams are willing to go the extra mile, from good to great and above all else are motivated to keep trying. They’re positive in their approach and speak of challenges and opportunities instead of problems. They become invested and care about the overall success of the project.
The bottom line here, is that Tools and Processes have limited beneficial effects when teams aren’t happy.
Process & Tools
DevOps is People first, then process and tools. It all starts with happiness and ends in efficiency, agility and drive.
For me, DevOps is all about bringing agility to the business and about breaking away from competition by adjusting to what our customers really want. Through various tools, we can identify what is used, how it is used and most important of all what is not used. More often then not, refocusing on value and dropping everything that isn’t relevant to our customers creates opportunity, differentiation and excitement.
There are many valid approaches to starting with DevOps. Some start with Value Stream Mapping, others start with agile methodologies. I personally start with Kanban.
Wikipedia defines Value Stream Mapping as a lean-management method for analyzing the current state and designing a future state for the series of events that take a product or service from its beginning through to the customer. At Toyota, it is known as “material and information flow mapping”. It can be applied to nearly any value chain.
What tools do you leverage to empower your teams to continuously improve and innovate? Do you stick to specific processes? How do you stay relevant in todays fast pace world?