Every DevOps initiative needs support from leadership. Without DevOps leadership support, teams won't be able to move forward smoothly. Leaders have a significant impact on results—not just with DevOps, but with every change initiative in an organization. This time we won't talk about DevOps as a tool or from a cultural perspective—although leaders very much influence culture. There are a few foundations in leadership that guarantee the success of a DevOps initiative, so that's what we'll be looking at in this post. So let's start by properly defining what transformational leadership is.
What Is Transformational Leadership?
Leadership is about showing your group the way toward its goals. A team is guided by its leader, but that's not because the leader demands they follow. Good leaders are the types of people that others follow because they identify with them. But only a few leaders have the power to truly transform the team. Wikipedia defines transformational leadership as:
A style of leadership where a leader works with teams to identify needed change, creating a vision to guide the change through inspiration, and executing the change in tandem with committed members of a group.
This type of leadership is focused on leaders inspiring and motivating the team to achieve its goals. Leaders will make sure to create the environment so the team feels safe to work with new things, like DevOps. Every DevOps initiative needs support from leaders, who in turn need to understand the value and the outcomes of implementing DevOps. But more importantly, leaders need to be clear that DevOps is not something that has a finish date. DevOps is about continuously improving how we deliver software. Some aspects of leadership are essential in every DevOps initiative. According to this study on transformational leadership theory, there are five dimensions that explain transformational leadership. Keep reading to find out what they are and how you can include them in your DevOps initiative.
Leaders need to know and understand the organization's vision so that they can align the team's initiatives with the company's goals. There are some initiatives that leaders don't think add value to the organization. And the team might think that leaders just don't like to try new things because, like an old dog that can't learn new tricks, they've always done things a certain way. That's why both leaders and the team need to understand why DevOps leadership is important. It's so they'll be able to stick to the initiative even when it seems easier to go back to old ways. When there's a clear vision of where the company is heading, all DevOps efforts must be aligned with that. For example, if the company's goal is to be 100% cloud-based, then you need to consider that in every decision you make about automating deployments. Integrating things like packaging and configuration management and creating resilient applications will become a must. Vision is what will keep the DevOps initiative alive, so make sure you're clear why you decided to start the journey. But more importantly, every member of the team needs to be on the same page, including the leader.
There will be times the team won't feel the need to change. They've been doing things the same way for a long time, so why change it if it's working? The problem is that the team might not be aware of a critical fact: if they don't innovate, they'll take too much time to deliver a change, and the company could be losing a portion of the market share. Leaders must challenge the team and not let them settle for practices that have become a comfortable habit. Always ask your team why they're doing things a certain way. The biggest trap a team can fall into is thinking that things will remain static. This is especially true in our industry, where new technologies and new ways of doing things constantly arise. A good leader will break the status quo and try to get the most from everyone. For example, my boss is always challenging us and creating competition inside the team to get the most from us. Or to take another example, in a DevOps initiative, the leader could convince the team that doing manual deployments will continue to be frustrating. Instead (the leader may argue), they should automate deployments so that they can do more interesting things—things like re-architecting and decoupling portions of the system so they can easily achieve continuous delivery.
Good leaders inspire and motivate the team by being aware of the team's morale and then appealing to their emotions. As a leader, you should pay attention to what the team is complaining about and what they get excited about. Find ways to always keep emotions up. It's impossible to be positive all the time, but at least make an effort to create an environment where the team feels motivated. And motivation isn't always about money. A developer is way more motivated when they feel they can have career advancement and increased autonomy in what they're doing. When you get to know your team, you'll know how to help them to do awesome things. The team needs to understand that change is good. And they need to know that they won't lose their jobs if they automate the things they're doing manually. As a leader, you'll want to help them understand that what they're doing has an impact in the overall system. Say things like "If we automate the release pipeline of this system, marketing will be able to run A/B tests to figure out how to increase sales." Things are going to continue to go wrong sometimes when a team implements DevOps. That means the team will need someone that's supportive and constantly motivating them to keep pushing through, which bring us to the next dimension.
Simon Sinek has a TED talk about supportive leadership called "Why Good Leaders Make You Feel Safe," and I highly recommend you watch it. He noted that "in the military, they give medals to people who are willing to sacrifice themselves so others might gain" to make the point that leaders make you feel safe. When people feel safe, they start doing things they know the leader would do for them too. Instilling fear is never a good way to manage your team. Trust is key. You don't hire people to follow your orders—you can program a machine to do that. You hire people so that they can solve problems in the best way possible. Sometimes they're going to make mistakes, but they shouldn't be punished for that. When they're punished, they become afraid to try new things and innovation stops. As a leader, you should expect and embrace failure. A team will do interesting things in an environment where they can practice without the fear of doing things wrong. They know the leader trusts them. DevOps fosters innovation because it's built on the notion that you can recover from failure quickly.
Who doesn't like to hear a "thanks, well done!" when they've just finished their work? Everyone wants to know that their efforts are successful and appreciated. When the team feels that the work they're doing is being noticed, they'll continue doing what leaders reward. If the team is staying late or coming in on weekends to do deployments, always be thankful for it. To help your team avoid frustration and burnout, you should apply inspirational communication and intellectual stimulation to challenge them. That way they don't have to work extra time and the company will be able to deliver changes more often. If a person is proud to work with your team, they'll highly recommend the company to others. That's a good sign that the environment is the proper one. One way Google was able to make teams do a post-mortem analysis after every incident was to give a visible recognition in the all-hands meeting from the CEO. Just imagine how proud a person would be if what they did had such an impact that even the CEO was informed. In your DevOps initiative, you need to recognize all milestones of improvement. Implementing DevOps will require a lot of discipline and will not be easily achieved. Celebrate your team's accomplishments along the way!
Once You've Done It, Just Keep Doing It
There's never, ever going to be enough transformational leadership—once you've done it, you need to keep doing it. Good leaders need to keep pushing the team to achieve new goals. Sharing the company vision with the team will help keep you focused because everyone knows where they're heading. Try to get the most out of your people. Always challenge them to do better. The worst thing you could think is that there's nothing left to improve—things will always change. You easily get the maximum performance from a team if they're motivated and you inspire them to take action. Lastly, support your team. Things are going to continue to go wrong, but don't punish them. Instead, learn from mistakes. Whether you resolve to do better training or you enforce automatic validations, above all, let your team know that mistakes are an opportunity to improve.