A few thoughts on timelines:
- Always let people know right away that spec changes are going to cost in time or money, and sometimes both.
- Always remember the Good-Fast-Cheap triangle (pick two). It's a law that you can't change.
- Most importantly, always remember that letting someone bully you into changing an estimate/schedule w/o paying more in time or money, you're ultimately screwing both you, the developer and he, the customer, even if he doesn't realize or acknowldege it!
Do everybody a favor, and be a bastard about it.