in reply to
How do you program (again)?
I take a not-so-structured approach, trying to determine ahead of time how involved the project is going to be, then diving into it if it's not too involved, or blocking it out before hand if I think it's too involved.
That leaves me burned when scope creep occurs, but I've really tried to ask enough questions up front to keep that from happening as much as possible.
It still occurs though.
If you give a man a fish he will eat for a day.
If you teach a man to fish he will buy an ugly hat.
If you talk about fish to a starving man, you're a consultant.