Last week I wrote about the – to me – incomplete Architect Vacancy. The reactions I have received were amazing to read. I am incredibly happy that many people agree with the need for socio-technical characteristics in an architect. Some reactions also, rightfully, commented that it is something that is assessed during interview processes. For example, by asking and evaluating experiences of the candidates. Although I genuinely applaud that these things are asked, I do find it isn’t enough. And after some tinkering, I found out what was bothering me.
The problem for me is that in these cases the desired behaviour and expectations are not made explicit. When it’s not part of job profiles or vacancy texts we have to rely on organisational values or the beliefs of individuals. In my experiences, this often leads to a group of people wanting A and the other group wanting something else. In case of a power play between a manager and the architect, it is the architect that will quickly lose any battle. Of course, when things are fine and everyone happy the implicit things are okay for anyone involved, up until politics or budgets come into play.
So, I have a strong preference for explicitness. Especially when it concerns the organisational design, a key influencer on the software architecture. That doesn’t mean the enterprise architect should be the one that designs the system and the organisation, but involvement in the design is essential. To me, the ultimate responsibility lies with the leadership.
Three responsibilities of leadership
There are many interpretations and thoughts on the responsibilities of leadership. By no means I have the illusion that mine is even slightly better than the existing one, nevertheless, I do like to use this oversimplification when talking with leadership teams on all kinds of levels.
In my eyes leadership has three main responsibilities. They have to ensure a vision or Big Hairy Audacious Goal is available for the organisation. It should be something that sparks a fire in the teams and get people connected to the goal of the organisation. How lower the hierarchy of the team is in the organisation, the more important it is that the teams or departments vision aligns with the vision of the company. From personal experiences, I know what happens when these visions diverge and it isn’t pretty.
With the vision defined and evangelised it is time for the leadership to set out a strategy. Important here is that the leadership doesn’t create the strategy on their own. This is the time to get subject matter experts in that help build your strategy. But when push comes to shove, the leadership is responsible. Though calls have to be made by this group. How you design the organisation is for me a strategic decision, so when forming the organisational design ensure to invite the Software Architect along with HR and other people involved. Organisational design is not just about team composition and team structures. It embeds roles and expectations, it describes flows of communications and hand-overs.
The third responsibility for me is culture. The leadership is ultimately responsible for the organisational culture. The beliefs and values of the organisation are defined and lived by every member, but it is the leadership that decides when things are out of bounds. For example by correcting on behaviour or more extreme actions when things are really out of order. Besides values and norms an important aspect of culture is the adage of continuous improvement or to put it better, how do we learn and experiment? Is there room for failure, do people feel safe to speak up and challenge people on their assumptions and biases. In other words, does the environment provide psychological safety? As with any part of the culture and said earlier, all members are involved in providing this, but it is the leadership that ensures the existence of it.
The key responsibility is the environment
What I try to convey here is that the environment created by the leadership is its main responsibility. In the end, it is the environment where the teams should be able to thrive and ensure the organisation reaches its potential and goals. It helps teams to focus on the essential complexity – the problem at hand – and eradicates unnecessary accidental complexity.
As a leader, it should be your goal to get the most out of your organisation. The mechanism to do so is by providing the best environment you can for your teams. It is not the input you provide on the product capabilities or software architecture that makes you stand out, it is your ability to let other people stand out that makes you successful.
Making hard choices
It sounds easy, but from experience, I know this is hard. For starters, most people in leadership are promoted to their new role. Often they excelled as a developer, designer or architect. If they are really good in their expertise then they should be able to lead a group of peers as well right? But the thing is, being a manager is a whole different ball game. I know, as I have been in that situation.
From a happy and competent developer, I was asked for a leadership position. A great experience and massive learning. Most importantly, after about a year and a bunch of hard lessons later I realised I had to make a decision. Either go full for the leadership position or move into a technical role. As pretending to be a manager and not fulfilling the responsibilities that are part of that role wasn’t simply an option anymore. I chose for leadership and with it, I chose to take a step away from the development responsibilities. Not forcing myself into architectural decisions or stepping in when production issues arose. I needed to become a servant leader.
Again, that sounds easy but it is a hard decision to make and stay true to. I know my personal journey here. I have seen many others do the same or not doing it all, running into the problems I have experienced in my first year.
When you are a leader, reflect on your own responsibilities and how you are acting upon them. Are you providing the best environment you can for your teams to excel? Do you help your teams to stand out?