When we prepare timelines, it's usually an iterative process. The client defines the goals. We'll then review the goals with them and probe to see if there are other goals. Then we'll go off and spend some quiet time creating the first version of a timeline. Along the way, we usually find items that we didn't think of in the meeting. We'll then review the initial timeline and potential new goals with the client, and iterate. We keep iterating until all of us agree that the timeline will deliver an acceptable end result. We then review that timeline every 2-3 weeks as the project moves along to see where we're at and to adjust either the goals or the timeline as needed.
I don't know how cut-and-dried your project is. The more knowable the end result, the more concrete the timeline; conversely, the more innovative the end result, the more vague the timeline. For complex projects there is a lot of discovery/invention along the way, so we leave time in the schedule for those unknowables. As we learn things we'll fill in the holes in the timeline.