Sometimes it just happens. Something goes completely wrong. You can have your risk analysis done correctly, you can have your risks managed and rescue plan implemented and that all won’t be enough. Independently how hard you try, there’s always something that wasn’t predicted. Hey, it’s the Murphy’s Law – if something can go wrong it will.
Then you wake up having your unrepeatable, impossible to locate, critical bug within your most important project for the biggest customer. Am I exaggerating? Maybe a bit, but coming back to Murphy’s Law – when something goes wrong it happens so in the worst possible case. If you haven’t been in a situation when your very important project is failing on your eyes prepare yourself. Sooner or later it will happen, especially if you’re working in software business, where acceptable quality level is much lower than standard one.
OK, what to do when everything goes wrong then? I don’t believe there is a single rule or a scenario you can follow to recover from this kind of situation. However there are some advices that can be useful when you find yourself in the dead end.
• Don’t let you go into stagnation. Make things moving. If you don’t move you’ll be in the same situation tomorrow, and that’s nothing you want to achieve. Waiting isn’t reasonable choice so act. That’s better than nothing.
• Don’t accept easy explanations. People tend to explain themselves instead of explaining the problem. Don’t waste your time for seeking someone who did it wrong – use the time to find the way out. OK, if you want you can do to it, but later, during post mortem or something, not now.
• Invite others to participate. You can’t find out where the bug is? Take another developer and make ad-hoc code review. Chances to find the bug are small, but still bigger than with standard actions.
• Brainstorm. Organize short meeting with whole team, not only those working on the issue. Encourage everyone to invite every, even most irrational, idea. Discuss. If that doesn’t work, finish meeting. Don’t just seat looking on the whiteboard.
• Be creative. Sure, the manager won’t fix a bug, but why not sponsor few beers for bringing idea that will allow resolving the issue? Small prize but can be very motivating, unless someone hates beer. Buying few beers for someone who finds a solution is a fair deal.
• Keep yourself well-informed. However do not overwhelm people with perpetual asking how things are going. The line is thin – do your best not to cross it. Ask only whenever you feel your information isn’t up to date.
• Be with the team. Ask them how you can help. In most cases you can’t but let them feel that their work is very important. Show them you care. Show them in this very moment their work is much more important than yours.
• Keep good atmosphere. A couple of jokes connected with the whole situation will keep everyone up and running. If the team starts to feel doomed people start thinking about defending themselves instead of about resolving the issue. When team becomes doomed productivity and creativity goes down and you need them now.
• Look like you know what to do. Even if you don’t. Especially when you don’t. The team trusts you know what to do and they will follow you, unless you say “I don’t know”. It’s like saying “I’m not your leader any more”. That’s probably the hardest one, but no one said that managerial work is easy one.
None of above guarantee success, but they definitely can help. I’m sure many things are missing – feel free to add them.