6 Stages of Debugging

My friend came up with the 6 Stages of Debugging: 

  1. That can’t happen
  2. That doesn’t happen on my machine.
  3. That shouldn’t happen.
  4. Why does that happen?
  5. Oh, I see.
  6. How did that ever work?

Update: Looks like this is an old, but still relevant list.

Although you could apply the Kübler-Ross model too:

  1. Denial – It must be user error! Are we sure their system is supported?
  2. Anger – By filing this bug you have questioned my family honour. Prepare to die!
  3. Bargaining – What if we just update the documentation? Can we tell the users this is a feature?
  4. Depression – All my code is broken! I have no idea what I am doing! I’m going to lose my job.
  5. Acceptance – Oh, that was easy to fix.

Do you ever find yourself in these stages?

8 replies on “6 Stages of Debugging”

🙂 I ran through that list with a user yesterday without even knowing it. “It’s nothing to do with the new update – no other user has reported it!” – by the end – “yes it’s an issue, we’ll get a fix to you by the end of the day” – this list hits the nail on the head!

Comments are closed.