Sunday, June 2, 2013

Mistakes (Junior) Managers Make

Two excellent threads on Quora:

To the already long list of mistakes presented there, here are some others I've experienced so far:

Thinking that it is enough just to create task lists in Excel

I have seen quite a few managers that, after being appointed into position, completely forget their craft, forget about people, forget about product and transform themselves into task administrators. The problem, I guess, lies in lack of role models and lack of understanding of the job. Management is not a reactive profession, but rather one that requires time to think and put things into perspective. 

To overcome this situation, one needs to seek for role models, read, ask questions, network, escape the comfort zone of always being busy. This is particularly hard and requires a lot of emotional energy, especially in an unstructured environment, without clear performance metrics and job descriptions. 


Disconnection from the product

I also call this "management from excel" or "management from inbox" and, to me, it means relying only on reports to mark work as done instead of going on the floor and inspect the product yourself. This is very dangerous as it leads to optimistic reports where everything seems fine while the product is completely broken. It also leads to non-communicative behavior in the team, lack of challenge, lack of risk management, sloppiness that spreads - the broken window effect.


Transparent manager

Every communication layer needs to add something valuable to the communication. When communicating up, the manager needs to create a new layer of abstraction and encapsulate the information for the needs of his/her managers and when communicating down, he needs to be able to break the information for his colleagues.

When the manager is not able to deal with his superiors autonomously, without constantly asking for support and clarification from his team and vice versa, he doesn't bring any value to the communication. He needs to understand the problems, the product and the requirements so well that he can have a dialogue with all his peers without constantly relying on "wait, I need to ask my lead programmer / engineer / game designer / marketing / HQ/ ... ". 

To overcome this, the manager needs to practice questioning skills and treat every problem with deep understanding. 

Conflict avoidance

Being afraid to go to the team and say: "look, this is not working. What can we do?". Being afraid or postpone to open touchy subjects and trying to maintain a sense of peace and calm at the expense of higher risk and lower performance.

To overcome this, the manager needs to practice self confidence and facilitate genuine dialogue. Curiosity and questioning also help.

Lack of trust in team members

By trust I mean not "I trust you to finish the job without checking" but rather "I trust you to open up to you, challenge you, be vulnerable in front of you to push you to over perform". Lack of trust leads to complains about the team to upper managers, disconnection from the team, conflict avoidance, gossip, low performance.

There are many ways to overcome this, but a basic one is to go to the team with problems and ask them to help you solve them. Something like "guys, we have this on the table; what do you think we should do about it?". 

Lack of control and measurement


Very much linked to all of the above: lack of trust, lack of depth in analysis, managing from excel. In order to be able to challenge the team one needs facts. Facts come from setting up several metrics and benchmarks for performance, then bringing the results to the team for debate. Without this, all dialogue becomes personal and subjective.

Not asking for support 


Manager's mission is to ship projects, grow people and deliver value and, sometimes, we don't have the knowledge, experience or tools to tackle every problem alone. We need support and we need the maturity and courage to step back and say "ok, if I pursue this course of action alone, the risk of failure in unacceptably high". Many managers were appointed as leaders to their teams for their own drive for achievement and resilience in front of problems. We need to understand that the results are more important than ourselves. It is true that nobody wants to work with a defeatist, but also nobody wants to work with someone who is blind and drives the projects straight into the fence. Vision is needed as, most of the time, there won't be an upper layer with enough knowledge of the project to be able to take the decision to offer help without being asked for help.

There are other behaviors at least as important as these: lack of decisiveness, hiring too soon and firing too late, not taking into consideration values and team fitness when hiring and firing, and many others. These were probably the ones that affected me the most so far and I will probably touch them in a future post.

Saturday, June 1, 2013

On Values and Why They Are Important

Core ideas:
  • Personal values are the lenses through which we see the world.
  • Knowing them helps us benchmark our decisions, so that we are more aligned with them and thus happier.
  • Team values are the fabric on which a team is built.
  • To create a strong culture, adherence to company values need to be tested at each hiring interview.
  • It is the duty of the leader to adjust culture through honest dialuge.
  • Values are neither good nor bad. They are just who we are and they make us diverse.

Why?

I have been thinking a lot lately about how and why it is important to work as a team. Inevitably, the line of thoughts brought me to a few basic questions:  to what degree does the team share the same values with the company, how we can align them, why does it matter?

Of course, the internal dialogue went on, asking other fundamental questions: to what degree shall we put effort into surfacing the true values of the team and benchmarking them against what the company expects from us? How would such a (time consuming) dialogue influence productivity? Is it worth the investment and, if so, how can we make the process engaging and honest? Maybe we should just put our heads in the sand and ship projects, caring less about topics that seem, at surface, too touchy-feely to be discussed in a serious production environment. Or not?

As the main mission of my current job is to build a strong management team around me, a team that is guaranteed to ship in spite of any adversity, for me this dialogue is more important than ever. People sharing common values make the fundamental fabric on which teams can be built.

What are values?

I would define "values" as the lens through which one sees the world. It is a fundamental set of core beliefs and attitudes that gives identity and guides decision making. Most of us are not aware of them as they are buried deep inside, shaped by our past, parents, environment, friends. We know when somebody trumps them over because then we feel a strong burst of repulsion and anger. We are very quick to judge and become intolerant about people who share a different set than we do. For instance, if one values hard work, he or she will be very tempted to dismiss others more inclined to a life of leisure, and vice versa. However, values seem elusive and it is hard to put them into words.

Why identify our values?

Honouring values means living an aligned life, peaceful, with less concerns and less emotional turmoil. On the contrary, not honouring them means constant dissatisfaction, frustration, fatigue.

One reason why decision making is so difficult is because of the uncertainty that lies ahead. Will we be at peace with the consequences? The best tool for answering this question is to benchmark the options and the expected results against our values, then pick the one that honours them the most. The whole process will feel safer, more natural, obvious and relieving.

As an example, let's assume that one's core value as software engineer is craftsmanship and code beauty. He is faced with the decision to switch jobs to a company that offers a better salary. At first, the decision seems simple. But will he/she feel happier there? By knowing his/her values and asking simple questions like "How do you take care of the code? How do you refactor?" the candidate will be able to assess his future state of happiness in that company and take an informed decision. Thus the more one is connected with his/her values, he/she will be able to take better decisions and live a more fulfilled life.

What about teams?

A team is a set of individuals working together towards a common goal. Teamwork needs cohesion, trust, reliance on others. By knowing its core values and by constantly asking "is what we do inline with who we are" a team will be able to take decisions easier, be more satisfied and bond together more closely. They will be able to say clearly:
  • Who is fit for the team and who is not - and why?
  • Is the next step inline with who we are? Are we satisfied with it?
  • How will we improve?

Values should constantly appear as questions during team meetings. If, for instance, one team values "constant learning" they need to ask themselves even for the simplest task: "what can we learn from it?" or "how can we approach it so that we learn something from it?" If the team takes the challenge and searches for the answer, they will feel happier and more satisfied with their work because they honour their values.

Team values should be known in the recruitment process and tested for them or, otherwise, the risk of a bad hire is just too high. Let's imagine a scenario where one wants to hire a C++ developer. Is the C++ test enough? Imagine getting a guy who values changing the world through volunteering in a team that has quick financial rewards as its core. Will he be satisfied? Will the team be able to accept him? HR and the hiring manager need to provide the answer in advance: how will his values be honoured in the workplace?

The five dysfunctions of a team and values:

According to Patrick Lencioni's business fable, there are 5 dysfunctions that plague teams. They all build on each other, having as the foundation the absence of trust. I believe that the best way to overcome the absence of trust is by provoking a genuine dialogue aimed at identifying what we, as a group, value. If I know that we share the same values, I will be more inclined to trust you. I will feel closer to you, thus I will be more likely to open up and collaborate with you.

Corporate values and team values:

Values are personal. It is crucial that newly hired share the same values as the company or, otherwise, they will be misfits or, even worse, if in great numbers, they may destroy the internal culture and teamwork. It is the job of HR and that of the hiring manager to properly test for company values, not only for technical skills.  

I believe it is the duty of the leader to provoke an honest dialogue and identify what the true values are. The key word is "honest". Discoveries may conflict with the declared company values which is OK as long as they reflect the reality. Once the dialogue has started and it is genuine, through open retrospectives, questioning and benchmarking, the leader will be able to adjust the culture. I believe it is possible and the end result should be better service, better community, happiness, productivity and engagement.

And yet we need to accept diversity:

Values are neither good or bad. They just are and they define us. They contribute to the diversity of our world, a world that accommodates so many perspectives. Although we usually exhibit strong emotional response to someone who shares or does not share our values, we need to accept that as beneficial. A society or a group in which everyone shares exactly the same core beliefs is a dystopia - first of all it is impossible as each of its members have different life experiences and, second of all, it is doomed to fail because of isolation. While we need to adhere to a common set of values in order to collaborate, we are evolutionary programmed to be diverse in order to survive.