Step 3: Create Gantt Chart
Col. 1: enter all of the food you intend to cook, and the major infrastructure preparations necessary.
Column 2: break down each item into its major steps.
Columns 3-n: list the available days, and assign each step to one of these days. Consider fridge, freezer, oven, and stove availability when assigning a prep day/time. You may choose to break the final day's activities into several columns, or add text to your boxes to clarify timing for high-use resources such as the oven.
Column n+1: identify the cooking or serving dish you'll need. If you don't have enough, borrow or use disposable pans. Running out of pans can be a serious problem.
Column n+2: identify the course. This helps in timing and food placement.
Columns n+3/4: after dinner, recap your quantities and evaluate what you plan to do next year. I wish I'd done this last year; since I didn't have good records of what was produced/eaten/desired from 2005's 27-person dinner I frequently over-estimated for this year. It's always better to have too much food rather than too little, but a bit of optimization here can give you more room to maneuver.
Hopefully you've got helpers. Give everyone their own color, and label the blocks that must be done by a specific person. Mark up-for-grabs tasks with the "anyone" color, and give the oven a color for good measure. It's not a person, but it's time is valuable and requires scheduling. Black out the squares as you go.
This means that anyone who wanders into the kitchen wanting to help will be able to check for open jobs, and hop right in without too much prompting.