It REALLY depends on your business type. We have a dry erase board which we have marked up to resemble a calendar. We then use multiple colors of ink, with each ink being a different crew. We then write the job name/number on the board in the proper crew's color, and for the number of days. Any given day may have 1-4 job names on it. When it rains everything gets bumped back. When a day gets added onto a job for some unknowns or change orders we push just that one crew back, and give the next 2 customers notice of the change. If a change order is not immediate we may tell the customer we can't get to the additional work because we have other jobs lined up.
This whole process revolves around being slightly ambiguous when speaking with customers about scheduling dates. for example, if we plan to start a job on Monday we tell the customer "we plan on starting at the beginning of next week, maybe monday maybe tuesday. We'll call you a day before we actually start, and of coarse all this is weather depending. If we lose a day due to windows or rain, everything gets pushed back a day." Then as promised we call them a day before we start.
The schedule is a living breathing beast and only one person can manage that beast. I tell everyone in the office other than my production manager that the board is alying siren of the sea that will seduce and murder you and only the product manager can see through it's lies. Things change so frequently if a customer calls and says whens the work getting done and I answer, I'm probably answering wrong and that'll build bad will with our customer, therefore ALL scheduling questions are referred to the production manager.
In regards to how far out we are, again that REALLY depends on your setup. If you are a home builder and each home takes 3 months to build and you only build one at a time, I can see 6 months being realistic. If you are a specialty trade contractor, such as my self installing roofing, which on average take only a day or two to complete, scheduling 6 months out means I am either way way way too cheap or doing something very right!
My comfort zone is 2-3 weeks, anything more and I feel I am not doing my customers any justice, any less and I feel like we are scrambling for jobs.