My friend came up with the 6 Stages of Debugging:
- That can’t happen
- That doesn’t happen on my machine.
- That shouldn’t happen.
- Why does that happen?
- Oh, I see.
- How did that ever work?
Although you could apply the Kübler-Ross model too:
- Denial – It must be user error! Are we sure their system is supported?
- Anger – By filing this bug you have questioned my family honour. Prepare to die!
- Bargaining – What if we just update the documentation? Can we tell the users this is a feature?
- Depression – All my code is broken! I have no idea what I am doing! I’m going to lose my job.
- Acceptance – Oh, that was easy to fix.
Do you ever find yourself in these stages?