Being on the other side of this, there is much planning involved around the timing of receiving programming projects. The programming time is one of the factors in determining which programming team a project will get outsourced to. I have gone with a more expensive team before on the promise of a shorter time only to have the project take more than 3x as long as the estimate and completely ruin the original evaluation.
Communication (customer service) is vital. It makes a world of difference and really helps to define the "professionalism quotient" of a company. If a project is going to come in later than estimated or promised it is good to pick up the phone and call your client as far in advance as possible. Receiving word in advance is much better than finding out on the day a project is due that it will be 30 days late.
|