I break the build down into 4 types of items, Tasks, Milestones, Dependencies and Deadlines.
Everything is a task. A task can have other tasks as dependencies. A task with dependencies is a milestone.
Deadlines are things like "sitzprobe 6pm on build day 4" or "stage to be clear ready for truck 2 to unload at beginning of day 2." They have a fixed time assigned as part of the schedule
A milestone might be "Ready to lay floor", "ready to build set" and may have dependencies like "LX bar 4 flown out"
Some tasks are just tasks. They can be done at any point - for example comms might be able to be done 'whenever'.
I write a list out by by myself based on what I can forsee, then I sit down with the various heads of department and we run through it. They then pipe up with things like "I need to run a couple of mic lines across before we put the floor down" or "I need an hour to pre-rig before LX comes in". After we have sorted this list out we start to look at timing. Don't get task specific. Milestones are where it is at:
Lighting, how long will you need to complete everything on LX 4 so that they can start to build the set? 3 hours. Great. Mechs - how long to pre-rig those points? Right. So if we call LX and Mechs at 8am we can start the set build at 11:30? Great. Next milestone is ...
Handling deadlines is the same sort of thing.
Then there is just a matter of juggling a few things around to try and avoid having departments standing around with nothing to do. Again, don't bog yourself down to the task level - don't even note any small little tasks that are not time dependant - as that is up to the relevant HoD to manage. Identify the milestone tasks, their dependent tasks and the deadlines. Stick times on the milestones and the deadlines and list the dependant tasks before the milestones. Add in crew calls and you have a schedule.
If you want something to assist you - have a look at Gannt chart software - there are a bunch of free ones on line - or there are the big players like Microsoft Project.