The various stages of development:
1. Excitement “This is gonna be legendary!”
2. Careful planning. Lots of innovative ideas.
3. Starting to write the code. Still being creative and invested into it, trying to do a good job.
4. Starting to make a few compromises, to finally get some things over with.
5. Developing less new features, spending most time testing & bug squashing. Being increasingly frustrated.
6. Bargaining with your computer (“please, just work and I’ll be nice to you from now on!”)
7. Helplessly banging head on desk.
8. Being utterly sick of even looking at it, i.e. “DEAR FSM/GOD MAKE IT STOP”