Defining the problem."That can't happen"Planning the solution."That doesn't happen on my machine"Coding the program."That shouldn't happen on my machine"Testing the program."Why does that happen?"Documenting the program."How did this ever work?"
Credit: Unknown (but obviously very weary and jaded) Programmer