vesuvius said:

I really hate it when the requirements change.


Even now after all this time developing software. I tend to spend a heck of a lot of time thinking about an alogorithm, only for someone at a whim to say "we want it to work this way"

That's why you get the people who give you the requirements to sign an Affidavit.