Why are you so busy?
Disclaimer: Details of this story have been altered slightly to protect the identities of individuals.
"I'm just too busy. I barely have time to breathe, let alone lead the threat modelling exercise with my team". This was something that one of my peers said to me at the end of a long day after I asked him how he was doing. I believed him—he was much too busy. He would send slack messages and emails at ungodly hours. He would only attend parts of meetings (ducking out half way through with a "have to run to the next one" in the chat). He'd always be noticeably nervous at scrum-of-scrum meetings as leadership grilled him on the deadline they'd so enthusiastically thrust upon him. And his team were all clearly stressed. Two key team members had quit already, and it looked, to me at least, that others were also peeking over the fence.
What an absolutely terrifying proposition that is! That he and his team were too busy to do the job they were hired to do, and in a way that could be catastrophic—and this was by no means an isolated incident.
The system that they were building was a replacement for a legacy system that exposed customer personal data. A customer's name, age, date of birth, as well as their gender identity, and minority status were all accessible in one way or another through that system exposed to the public internet. It's not really the sort of work where you should skip any of the security fundamentals.
The absurdity of being too busy
To me, this whole situation seemed absurd. Both himself and his team were too busy to do their work properly and with any level of quality that wouldn't only make matters worse. The business had defined the deadline, the scope, and had (almost gleefully) ignored asks for more time and resources. His lack of experience in the role meant that he simply accepted this fate and would instead pressure his team to deliver faster to try and compensate. This meant sacrificing quality engineering practices and, most disappointingly, the quality-of-life of his team. Little did he realise at the time, but...
as long as you are doing your work well and continuously working on the next most important thing prioritised by the business, any pressure to deliver beyond what your team is capable of is objectively unreasonable.
If the following are true:
- Your team is following software engineering practices that have been shown time and time again to be indicative of highly performing technology teams (think CI/CD and DevOps).
- You've modelled the architecture, work, and communications of the team(s) as effectively as you can (with respect to what you can influence)
- Your team is always working on the next most important thing (as prioritised by the business)
then, there are no more levers for you to pull that do not result in a degraded quality-of-life for yourself and your people and you need to think carefully about why you'd ever want to do that.
You could sacrifice quality, but then your team will have to deal with more unplanned work (as issues arise in production), decreased lead time, increased change failure rates, etc. You could ask the team to work over-time, but unless they are agreeing to that work and being paid handsomely for their additional time (which they usually aren't), then you can quickly expect them to leave for jobs that are more reasonable, satisfying, and pay better (the gaming industry is figuring that out... slowly).
In this case, the only reasonable ways for the business to exert influence over the work, are to:
- Decrease the scope of work.
- Fund additional teams and/or restructure the work accordingly.
- Move the delivery date.
You should only ever be busy on purpose
In some scenarios you need to grind. Maybe you're a start-up trying to meet a deadline for a demo, and to secure funding you need to nail this presentation. Maybe you're an ambitious team that is pushing for a lucrative bonus. Whatever it is, these all have one thing in common: they are in pursuit of an agreed incentive.
If you are too busy, why? What are you and your team in pursuit of? If you are too busy because of pressure imposed by someone else, why do they believe they should be able to ask more of you?
Are you too busy because the business has expectations for you to deliver by a certain date regardless of the capacity of your team (who are delivering high quality work and always working on the next most important thing as prioritised by the business)? Then that is a conversation that you need to have with your boss and your stakeholders. That is likely unreasonable.
Are you too busy because the team is dealing with engineering quality issues caused by a predecessor? Then that is another conversation you need to have. The business should help free up capacity so that the team can address those issues, or at the very least support the team with aggressive overtime compensation until it's remedied. Failing that, maybe reflect on why you joined the company in the first place.
On a side note, "how much of the team's time is taken up by unplanned work?" is a question I'll often ask during an interview. If the answer is "we don't know" or "a lot", I will then follow up with, "If I'm successful, how much time can the team have dedicated to addressing issues with quality?". If the answer isn't something along the lines of "as much as is necessary", then I'm justifiably dubious
Are you too busy because the team is dealing with engineering quality issues as a result of decisions made by you? That's a harder conversation, but you still need to have it. Negotiate time to address the quality issues and work with your peers. It will often be in everyone's best interest to do so.
You and your team should never be so busy that you can't do your job properly or that you begin to hate your work. Especially if you're a leader or a leader-of-leaders, then you should actually (yes you should, I'll die on this hill) have free time to think alone, and to talk and ideate organically with peers. Contrary to popular belief: back-to-back meetings isn't a badge of honour, it's a red flag.