Surprises.
One simple rule for better team work.

It's dangerous to go alone. You need a team to build anything sizeable, or to tackle the problems worth fixing. In my experience, communication between team members is not only essential, it can become a force multiplier. There's one simple rule I like my teams to keep in mind:

Don't surprise your team.


That's it. Boom. If you do surprise your team with an update or announcement, it means you're sharing it too late. For example, say you're a developer, less than a week away from your feature integration deadline, and you're struggling. You're pushing as hard as you can, but you're realizing you're not going to make the deadline. If you share that news to the rest of the team it's a surprise, that means you probably didn't keep your team in the loop. It means they might not be able to help you crawl out of that hole. It might mean a missed deadline and missed opportunity or profit for the company.

On the other hand, if you kept the team updated on your progress earlier, you might have more options. Perhaps the Product Manager can simplify requirements and push stories to next release. Perhaps the Engineering Manager can find other experienced developers to assist implementation. Perhaps the QA team can get creative with their test plan to gain you extra dev time. If you don't share, you remove all these possibilities and you're on your own. It will be your failure.

What do I do when I surprise my team?

First, be ok with it. Nobody is perfect, everyone is learning the art of Creation together. If you do end up surprising your team with an update - good. Own it. Admit your communication shortcoming. Its the only way to address it. Learn from it. Understand what got you into this situation, and learn how to avoid this same surprise in the future. It's all about risk mitigation.

Why do people surprise their teams?

Here's some common pitfalls I've seen.

Ego.

Too much ego, and you can commit to too much work, not use your team effectively for support, and cause disruptions or arguments. Not enough ego and you'll be under confident, second guess your work, and take way too long to produce.

A lot of coders (perhaps all?!) struggle with ego at both ends of the spectrum but don't usually talk about it. Know your own demons, and keep them in check.

It helps no one to hide your failures, roadblocks, or difficulties from the team. You can't use the "everything is awesome" fake lens like so many do on Facebook with your team. You're hurting yourself, the team, and the product.

One of the best ways to balance your ego is to be transparent with your team.

Nature.

Some people have an introverted nature (like me!). Introverts are just not that into communicating, because talking to anyone consumes more energy than other experience, so naturally they try to reserve that for producing work.

However, if you take this too far and don't actively keep your team in the loop, you run the risk of surprising them - causing stress for everyone and potentially missed objectives.

You can't go at it alone all the time, you need your team there. If you're not reaching out to them, then one day you might find that they're not there at all when you need their help. Even if you're introverted, you need to understand that spending that energy communicating with your team is worthwhile in the long run. It is a skill just like any other that you need to learn. It's probably just as, if not more important, that your technical skills.

If you're introverted, I suggest:

Interpersonal.

Sometimes, you have to work on a team with someone you don't like or don't get along with. This itself can create enough of a mental barrier to make you skip Standups and be reluctant to share progress and issues.

The thing to realize here, is that by not sharing, you're making the dynamic worse. If you're not sharing because you don't get along with a teammate, and due to that the project falls behind, do you think that person will like you more or less? It just makes it worse. Don't let them win.

If someone else is going to be a jerk, then so be it. Let that be on their head, not yours. You're going to communicate strongly and effectively despite them. You're going to be so professional, the team runs smoothly. If you really want to get back at someone you have beef with, succeed despite them and see how that makes them feel. You don't have to be super friendly, but you do have to avoid sharing surprises that might make an already tense relationship worse.

If you find yourself in this situation, the best weapon you have is detachment. Step back from whatever emotions you have towards the other person, and focus on the objective your team is working towards.


© 2023, Adam Muhlbauer.