Dealing with crises in an engineering team
Every engineering team goes through a crisis. Thats a fact. No matter how well managed, how many risks are called out in advance and how many contingencies are put in place, its a reality of the engineering profession. Either some critical engineer has resigned and is no longer contributing to the outcomes of the project, or the client wants more things to be done in the same statement of work. There are no perfectly run projects. In a way, running an engineering team is like understanding one of the core tenets of life — “There is going to be chaos. How you manage it and turn it into an opportunity is up to you.”
Businesses everywhere have become money conscious, and I don’t blame them. Before shelling out a dime, businesses are starting to ask “is this expense really necessary?” The looming economic crisis in the western world, and in China has caused a lot of investors to cancel term sheets. Many multi-billion dollar companies listed on NASDAQ are down by 30% or more! That’s a lot of shareholder value wiped out in a matter of months. I would argue this new found stinginess is how businesses needed to operate all along! Businesses who dare stick to the covid-era business model of “spend first, get more investment later” are in for a rude awakening.
Understanding the nature of Crises
Before you go out to face a tiger, it is important to understand the nature of the tiger and be prepared. Does it eat grass? Does it fly? Does its bite have poison? These are all valid questions to ask. How else will you decide whether to take the tiger out from a distance with a sniper rifle, or, leave it be — because its vegetarian? Without understanding the problem at hand, it is difficult to make a recommendation on an approach to follow. To that end, let’s understand the nature of crises in engineering teams. I see three two broad categories to put them into:
- Crisis of time or people
- Crisis of confidence
Let’s dig into each one and explore the contours of each crisis.
Crisis of time or people
I’ve often overheard many an engineering manager make one of these statements –
“We would get this done on time if we had enough people” or otherwise known as a crisis of people.
“If only I had more time to execute” or otherwise known as a crisis of time.
Guess what? The time for both of those statements is long gone. Gone are the times when clients would pay extra to have more engineers on the roster to meet deadlines. In the modern price conscious market, it’s often “How can your team bring more value?” And the answer is often hard to come up with. Do you ask your teams to stretch through the weekend just to please the client? What if they get burnt out, or god forbid, leave?
The only way to deal with a crisis of people is brand value. Yes, you heard that right. Are you or your client one of the biggest names in your chosen industry? Do you have a modern engineering company? The sort that adds value to an employees career? Employees will stick with a company through thick and thin if they believe in the brand and the vision. If they forsee a value to their careers, or simply like the workplace because it suits their current goals in life, they will stay! By creating a culture of long tenures, you will never have a dearth of employees ready to pounce on any given problem statement.
Crisis of time is a little more easier to deal with than people. Afterall, people are not equations, but time is! “But Shashanka, engineers can’t function like clockwork, they’re people and people have variable outputs for the same task, sometimes even for the same person” I hear you say. All of that is true. But looking at the work of your engineers before you landed in a crisis and extrapolating the average output for a sprint and considering that as the baseline productivity for a future sprint gives you some amount of predictability. However, this isn’t fool proof. I’ve seen some of my top performers fail at delivering their tasks on time in a crisis — when their contributions were critical! There are many dimensions to this. The stress of landing in a crisis where every task is tracked itself can create panic in many a top engineer. That is where a leaders ability to absorb pressure from top and not pass it on to the team comes in. The mantra that has worked for me in the past is to absorb chaos from above, but give your teams rainbows and unicorns in return. That’s not to imply shielding them entirely from the gravity of the situation. Communicate on gravity but do not micro manage and have some faith!
Crisis of time then comes down to communicating simply to the client that the work they’re so looking forward to is now at risk either because of scope creep or because of a refactor that HAD to be done. Either way, shoot straight and keep emotions out of your client communications. You do not want an altercation between your teams and the client leading to a future crisis. Another attack strategy that has worked for me in the past is to have my engineering teams under-commit and over-deliver. That way the client is pleasently surprised and quickly becomes a believer! Take advantage of such a situation, and hammer in the perception that you are trying to partner with the client and getting their priorities taken care of is the top priority to you — not just sticking to the SOW! I’ve been successful in doing this by overdelivering consistently.
Crisis of confidence
If you were anywhere near me when I wrote this sentance, you’d hear me cracking my knuckles before I started typing. A crisis of confidence is not easy to deal with (neither is it easy to write about it apparently!). This is the the toughest challenge you will ever come across, either as an engineer or as an engineering manager. And that is putting it lightly.
A crisis of confidence is a time when no one believes in you, or your team. It is a time when morale takes a hit. “Abandon all hope ye who cross here” the project seems to beckon to you. No one in your team is interested in work anymore because anything they try doesn’t work. They’re just trying to get by and running on fumes. Thats a crisis of confidence — it has the power to bring down a well-functioning, productive team to its knees. Engineers are especially prone to low morale in such situations becuase we are solitary creatures. We do not express our feelings to anyone and seek help. All the sudden, it looks like there is no one to help us get out of the hole that we are in and we have to dig ourselves out of the hole we’re in. This is a precarious mode for teams to operate in. I’ve seen entire teams resigning — putting projects and client contracts at risk in such situations.
A crisis of confidence has overcast your team with good reason though. I like to think of human beings seeing each other neutrally before forming an opinion about them. This isn’t always necessarily true, but this is a behavior I generally observe with myself, and since I can’t peer into your thoughts, I’ll assume you must think similarly too!
I always form an opinion about someone when I first meet them, catch myself doing it, and then tell myself I need to see them do a positive or negative act and then form a concrete opinion. Essentially everyone starts at 0 in my mind, and then they go into the positive or negative axes depending on their actions. Interestingly, I have found teams behaving the same way with other teams as well! Initially when the client team meets an engineering team, they have their initial impressions, but no one gets into judgement mode in the first instance — well, not the sane ones anyway. Is it then fair to say the client team has a crisis of confidence with the engineering team because of the engineering team’s previous output? How fair is it to say:
“the client’s requirements are changing all the time”
“the client isn’t giving us enough time to finish with quality”
These are ofcourse true with some clients, no doubt. If the clients requirements are in flux, freeze requirements and get an agreement on the timelines. If the client isn’t giving enough time to finish with quality, maybe its time to sensitize them about timelines and agreed upon work packages again. In other words, the situation is not so bleak after all! There are ways out of this situation, some simple, some hairy, but there are ways!
Stuff of legend
The silver lining is that every challenge in engineering is an opportunity to shine. A crisis of confidence can also be seen as an opportunity to grow your legend and prove your mettle. Ballads will be sung in your name if you and your crew successfully survive this ordeal!
The boon and curse with engineers is that since they’ve been so close to computers, some of the qualities of silicon circuits are rubbing off on them! On the one hand, engineers are logical, methodical and reasonable to deal with. On the other hand, their sense of priorities are off by light years. The last person who pings them on slack is the one whose work gets done first. I kid you not. I’ve found that in a crisis, engineers lose all sense of what exactly to pick up first — everything seems important. Everyone is breathing down their neck.
A little help and a little empathy from the leadership goes a long way in giving engineers the breadth and space to operate. I’ve found that for my team, creating a simple task board with P0, P1, P2, P3 buckets helped. P0 being the highest priority / blockage to someone else’s task and P3 being a good to have. Anyone who had a dependency with any other team member added their tasks into the board. Team members used to split their work timings between their own tasks (75%) and the task board (25%). This worked wonders for my team. Suddenly, tasks were reaching completion and people knew what to work on — without me having to intervene and coordinate. A self managed team which doesn’t follow FIFO should be your first stop to getting out of a crisis of confidence.
In peace make preperations for war
This quote rings true. Do not prepare to deal with a crisis when in the middle of the crisis. Enough planning and preperation should’ve gone into your team during times of peace that when your team sees a crisis, they’re not easily spooked. Spending time with your engineers to understand their personal situations and where they’re at in the overall map of their life goes a long way into deciding the chain of command during a crisis. Be cautious not to choose the same person to lead all the time. During a crisis designations shouldn’t matter. Do you, as an engineering manager still keep in touch with code? Jump in and help out the team! There is no bigger inspiration than seeing a general fighting amongst soldiers!
The myth of multi tasking
When I first started working, I had this myth in my mind that I could multi task. I used to have a youtube video player on one monitor and my code on another. There were terminals in small sections of the screen and I used to think I was being productive. That is until I noticed that my days were stretching into the night. In an effort to optimize my productivity and time, I started searching for ways to do work quickly. After 14 years of writing code and managing teams, I have come to the realization that I cannot multi-task. No one can. Not if you’re doing any brain intensive activity like programming. Focus, it turns out, is the most effective currency you have at your disposal. By choosing to spend focus on tasks that really matter, I was able to get work done quickly and because I was not watching a video while working — with quality. By pretending to multi-task, you’re just stretching out your days and getting into a cycle of unproductive, sedentary behavior.
Incremental progress and digging your team out of the hole
I cannot stress enough how much showing incremental progress is important. Any task requires small steps to be completed before zooming out and seeing completion. Each small task that gets completed is a definite stride towards delivery. To be able to actually complete tasks, freeze requirements before your team picks up the task, and make sure you allocate more than enough time. Don’t forget to celebrate small wins to keep motivation up!
Crises often suffer from the Ebbinghaus illusion. They are perceived to be a bigger threat than they actually are. However, there are cases where the threat was never even perceived. Either way, calling a spade a spade should help you and your teams guage the dimensions of a crisis. I cannot emphasize the importance of preparing for a crisis before it actually hits. Crises tend to lose steam when faced with an unyielding team that sticks together. Engineers who help out other engineers get through their tasks and not get stuck in the solipsism of their work tend to boost team morale. Crises can be conquered. The challenges are daunting but riches and fair weather await you and your team if you can sail through.