The 5 Laws of Human Software Leadership
This is the first iteration of my Laws of Human Software Leadership. I expect this list to grow in the next iterations, but I guess this is a good list to start with. My idea was to list a few things that I judge to be very important for a leader not only in the software space, but beyond that. Without further ado, here is the list:
- Everyone in your team is human. Including you.
Everything should be optimized for Humans. Great people is the secret sauce of every successful team. They are more important than the job they are doing, no matter how critical and important the job could be. Take a moment to let that sink in. The projects and products your team is working on are secondary compared to the well-being of the people, their motivations, their satisfaction in the job and psychological safety (just to name a few things). That includes you as a leader as well. You are more important than your job. Take care of the people, and they will take care of the products.
2. Trust your instincts. Your gut feeling is so important.
Scorecards are great tools to make sure things are not forgotten as part of the process of bringing a product to life. But sometimes it becomes all about checking boxes in a scorecard. Some do not even know WHY they are doing it, but they need that checkmark. Processes and scorecards are in place to SERVE US, and not the other way around. Therefore a leader’s instinct of what is needed and what is not needed is really important. The instinct to early detect when the team is about to go down the wrong path is maybe one of the BIGGEST skill a leader needs to have. The best way to refine your instinct is to experience successes first hand and, even more importantly, experience failures and problems.
3. Empower your team, but engage with them. And know when to disappear.
Empowerment is a tricky thing, a lot of leaders suffer from not knowing exactly to which extent their teams should be empowered. A lot of people mix up empowerment with getting out of the way. The most effective leaders I have worked with have a good handle on when to empower vs when to engage. Knowing WHEN to engage is another secret sauce for the human leadership laws. Check-in from time to time, engage with your team, challenge their ideas, shape the culture, create the right environment, contribute to the progress, but know WHEN TO DISAPPEAR and let your team go their way.
4. Avoid meetings JUST to get status updates. Work happens in between meetings.
The bigger the organizational structure, the more times people will find themselves repeatedly giving status updates to other leaders. To an extent where the culture will be shaped and formed around these things. Pretty much every modern software development company already has many opportunities for leaders to get an understanding of where the teams are. Join stand-ups, watch recordings, read documentation, join demos. Whatever you do, just avoid scheduling meetings JUST for someone to tell you how is it going (especially if all you see is a scorecard with checked/unchecked boxes).
5. If it is not evolving, it is regressing. Let your team know this.
This last point is a little cliché. But leaders need to be creating the awareness that the destination is the journey. We can’t consider to be done improving, we can’t stop getting better, otherwise it starts to regress, and devolve. Great leaders should recognize and celebrate progress and improvement, and at the same time create the spirit that we can not stop. Keep Walking.
I am pretty sure other points could be added to this list in the next iterations of the Human Software Leadership laws. If you have an idea or important aspect that you think it could be part of this list in the future, please respond to this post.