Panic as a Weapon at Squeaky Bum Time

March 04, 2015

There are periods in some software projects when the atmosphere gets very strange. It’s what Sir Alex Ferguson would call “squeaky bum time” - deadlines are approaching, and everyone is getting nervous.

It’s not a very healthy place to be, and if you’re not careful, the relationship between client and supplier can become toxic. Pressure is piled onto the content team and the development team from senior management. People start demanding twice-daily status update conference calls. Managers start getting obsessed with the number of defects.

Severity inflation becomes rampant, with tiny cosmetic issues being listed as major or critical defects. One project I worked on somehow ended up with 3 fields for prioritising issues - Priority, Severity, and Business Priority, but it just seemed to make things even worse.

Duplicate issues get raised left, right and centre, especially if some of the stakeholders think that using the issue tracker directly is too time-consuming for them, and instead send through emails asking other people to raise the bugs for them.

Last-minute change requests get raised as critical bugs.

Bugs that were minor a week ago suddenly become major.

Devs start cursing clients for being such idiots as to raise bugs like this, clients get pissed off with devs for rejecting tickets without reading them properly.

In short, the amount of noise in the issue tracker becomes ridiculous.

The sense of collaboration goes out of the window and a feeling of “them and us” creeps in. People start forgetting that both teams have the same goal - releasing something high quality on time. In the worst cases, where there’s still a pile of content to be written, it becomes a game of chicken, where nobody wants to put the thing live, but contractual issues mean that nobody wants to be the one who blinks. The client starts to panic, ringing all the alarm bells they can think of, because their bosses are giving them a hard time.

A good project manager shields the team from the noise and keeps things calm, but a bad project manager amplifies the noise, using the client’s sense of panic as a stick with which to beat the team and make them work overtime.

What’s the solution? As with so many things in software development, I think it comes down to communication between people. It’s really important to set expectations on what testing involves at the start of the testing period, to minimise noise. Having a specific person from client and supplier triaging issues regularly helps, especially if they can actually sit down and talk to each other. So much time can be saved and so many angry emails avoided.

It’s amazing the difference that being face-to-face makes sometimes - assumptions can be checked, misunderstandings can be resolved, and it’s much easier to remember that the client is a person too, and one who is working towards broadly the same goal.

And as Sir Alex put it, it’s important to keep a cool head - when the people involved have been through it before, it’s easier because “we’ve got the experience now to cope.”