If you have been in the software industry for a short or long time, you will find this story quite familiar. Still, there is always something to learn and understand, especially as a tech lead. Let’s see.
Things happen
You know it, the team knows, I know — we all know — at any moment, something will break. That’s natural. Software is an art and involves a lot of creativity and ingenuity, which unavoidably makes it prone to errors. (We usually even have ways to handle incidents, don’t we?)
Well, so there you are, a regular day as a tech lead, handling your routine tasks, and suddenly:
- 11:00 AM
- Seventeen slack notifications in one minute or less (and counting)
- You feel that coming, as you have been there before.
- Confirmed. Something is wrong!
- Boom!
Yep… Production is falling down
You do not know the details at this point, but somehow, the production environment is getting into constant issues affecting the actual users. It involves the project’s client, and they are waiting for any clues. And, of course, they need a solution. But let’s go slow and understand some important concepts here.
What is a software incident?
A software incident is a problem that occurs in the software and results in a service interruption, data loss or revenue loss. The incident can be a software bug, a human error, a computer problem or a combination of these. A software incident can be identified as a defect, an error, an issue with the implementation of a feature, a billing issue, a scheduling conflict or a project failure.
There are probably many other ways to define an incident. Still, even more than that, the most important thing is to identify the specific issue that is the cause of the incident, and determine the impact on the rest of the project. This is the best way to prevent repeating the incident, and it will save your team time and money in the long run.
So, now that we are clear on the definition of a software incident, let’s focus on the matter.
How does a tech lead feel during a project incident?
If you are a tech lead on a project and something goes wrong, you might feel frustrated, anxious or even threatened. You might feel overwhelmed or like you are missing out on important information. All these feelings are normal and expected. Still, even when it is normal, something is important to understand. It is normal, and… It ?. Is ?. Not ?. Because ?. Of ?. You ?.
It is NOT because of you
Just like that. Even when you feel like it is because of you, and your brain tries to say it is:
- Because you are the leader.
- Because you should know that.
- Because you should see that coming.
- Because
- Because
- Because…
Stop! Don’t do this. I know, once again, it is normal to feel that way. But trust me, it is not because of you, and nobody should be trying to look at any guilty or responsible person. That’s not useful, and you are wasting your time and energy on the wrong tactics. Take this approach instead:
- You are not guilty: Actually, nobody is.
- You are not responsible: It should be a team process.
- You are not the hero: Don’t go “solo.”
So, you already know how it feels and that it is normal, but you also know what to avoid, and that it’s better to focus on a positive outcome to get to a solution. Now, let’s focus on how to get there with a solution.
What can you do as a project lead to prevent incidents from happening in the first place?
Understanding your team’s culture and the processes in place is essential. So for this, communication is the queen, and things will flow:
- Communicate
- Spot
- Communicate
- Plan
- Communicate
- Action
- Communicate
- Lead
- Communicate
- Let your team do their job
Start the communication to spot the issue; you will do it as soon as possible; communicate the findings across the team, the company, and of course, the client and customers.
Plan the possible approaches to handle the issue(s) your team spotted, then communicate them.
Act with a solution, along with your team, constantly communicating every step.
At this point, you have been actively exercising your leadership by allowing your team to do their job in the best possible conditions, keeping the track clean for them, and the communication flowing along the dependencies.
Once again, let your team do their job; they are the best at it. Most importantly, always keep the communication flowing.
Wrapping up
It is normal to feel overwhelmed, but you should focus your energy and time on coordinating the communication with your team to find a solution, act, and do their tasks in the best possible way. You will be there to assist, make things easier, and keep things flowing.
This article tries to explain what a tech lead experiences during a project incident and how to handle such feelings in the future. Understanding your team’s process and culture in a leadership position is essential. Knowing when to ask for help — and how to communicate with your team members — is vital when handling and solving incidents.
Finally, incidents are normal and will inevitably result in an excellent way to improve the project’s quality, the entire team’s skills, and overall strength. Of course, you better try to avoid incidents, but when they happen (and they will), don’t panic or feel guilty. And let your team flow toward a solution.