First you have to understand that timelines are not done until the project is done. Things move, estimates are off and sometimes people flake out. When you create a timeline you should expect it to be perfect. You should expect it to be a communication tool so that other projects can organize around you. It’s showing your expectations for when you will need resources and when you will hit milestones.
The key is to create a work breakdown structure. You need to understand everything that will happen between now and the end of the project. During this process you will get a clear idea of your scope and you should start creating that too. Talk to your experts, talk to your stakeholders and talk to everyone on and around the project. Get everything.
Once you have a good handle on what you need to do start assembling it into a network diagram. Ask what comes last. Is it a pizza party at the end of the project? What comes just before that, and just before that? I find working backwards to be helpful, but then I jump around everywhere and ask lots of questions. One question i find my self asking a lot is, “what is stopping us from starting this task today?” The answer will usually show you that tasks predecessor or get you to add something to the project. Another question that gets asked a lot is “Okay, we’ve finished this task, what happens next?” Make sure that the team is involved. Get estimates along the way. Push people to commit.