Thursday, December 18, 2008

Whoops!

Everybody screws up. I screw up. You screw up. Even the Queen of England screws up. Shoot.

When someone who works for you screws up, there are two things that can happen. Either the employee realizes he screwed up, or he doesn't. Either way, your job as a manager is to notice the screw up and correct it, either by doing something or - and this is sometimes harder - by doing nothing.

Depending on the person making the mistake, there are a range of possible behaviors and things you have to do about the situation.

Oblivious
Sometimes the person has no idea he's screwed up. Seriously no clue that a mistake was made at all or that he caused it.
Reaction: If you don't point out the mistake, he'll repeat it eventually. However, what you really want is for the person to start noticing his own mistakes. So don't point it out directly; instead lead him down a path so that he comes to his own realization that he made a mistake.
Sample Phrase: "I noticed that you didn't clean up the machines when you were done with the test. Were you still using them?"

Hide and Seek
Sometimes the person recognizes that there was a mistake and tries to cover it up.
Reaction: If this person hides the little mistakes, the big ones will only blow up on you later. You have to point out the mistake, yes, but the more important aspect is making sure the person understands and - and this is important - feels safe enough to acknowledge mistakes. Be extremely gentle with the mistake itself, at least the first couple of times.
Sample Phrase: "I noticed that the memory tester was broken in half under the keyboard in the QA lab. We can get it fixed, but you need to come tell me that it's broken so we don't have to go hunting for it."

Penitent
Sometimes nothing you can say is worse than what the person who made the mistake is already thinking. Left alone, this person will beat himself up for every screw up for longer than you might.
Reaction: Punishment is already happening; your reaction needs to be about acknowledgement, correction, and speedy moving on.
Sample Phrase: "Yup, you that bug is a duplicate. Let's figure out how we can make searching the defect tracking system easier in this case. [do so] Okay, now we've improved our process. What's next?"

Self Corrector
Sometimes the person acknowledges the mistake, corrects it, and moves on to the next thing.
Reaction: This person screwed up and dealt with it. Anything you do will prolong the incident unnecessarily.
Sample Phrase: None.

When you're working hard, and you're tackling challenges, mistakes will happen along with triumphs. Making mistakes okay - both to make them and to deal with them - is just one of the things you need to do to keep your team taking risks and getting better at what they do.

3 comments:

  1. I've made my share of mistakes, often very visible mistakes, like bringing all of the production systems at Bell Helicopter to their knees in my first week at my first job. Yeah, I was that guy.

    Another time I released changes to a web app without properly performance testing the back-end services I was dramatically increasing the load for. That didn't go well. It took three months to fix.

    Whenever I see someone else make a mistake, I try to remember the ways I've screwed up. Sometimes it helps me to put it into perspective. "It's not as bad as the time I stopped the manufacturing floor at Bell," I'll tell the person who screwed up, hoping to cheer them up.

    I think it's important to realize that sometimes we need to help a person get over the mistake and move on to the next one. Software development is a process of discovery, which means not everything works. We need to be tolerant of mistakes, even if we can't always be tolerant of bad behavior.

    My mom likes to say problems are a lot easier to deal with if nobody tries to hide them or throw a fit about them. It's funny how those two behaviors feed off each other.

    ReplyDelete
  2. That's a pretty impressive mistake you have there!

    My personal that's-a-doozy is the time we were working late, finally got a build with everything in it that didn't blow up six ways from Sunday during deployment, dropped it on the demo system, pulled up the login screen, cheered, and went home. Too bad no one could actually log in! The demo the next morning did not go well.

    I think anyone who's been in software (or probably anything, really!) has a mistake that sticks with them. And you're absolutely right that it's going to happen to every one of us.

    ReplyDelete
  3. This is a gr8 post!!

    I would like to add a new category of ppl to this "BIG EGO"

    These ppl will never ever accept their mistakes even if it is so damn visible to them & to everyone. They will keep on giving excuses for why it happened & will try their best to convince others that its not their mistake for why this mistake happened from them. Yeah!! I know its too confusing to make any sense out of it but believe me, that's exactly how these ppl react when they make a mistake. These are generally ppl who think they are the best & any mistakes made by them or especially any mistakes shown to them by others is a BIG INSULT. They start to get all defensive abt it & the only way that's left for you is to hope they realize their mistakes & try not to repeat it again.

    I had a hard time dealing with such ppl in my team & the only solution I cud think off & practice is to show them their mistakes in the most gentle manner so that they don't bring their BIG EGO out & get all defensive abt it. Once done, leave them to think it over & not waste time listening to their excuses on why they think its not a mistake for them to make a mistake.

    I understand, for some of u it might sound a bit rude but believe me guys after a while we will realize that we are not here to baby sit anybody. They are paid to do their jobs, so I expect them to learn from their mistakes & move on. How hard can that be??? But ppl in this category cant understand that, bcoz to them its more abt defending their EGO than anything else.

    ReplyDelete