For me, the most important step in any large project is putting together a good 'specifications' or 'requirements' document. If you can do this in enough detail, and have the client sign off on it, you can save yourself a lot of work.
I'd like to second, third, and fourth that. :)
I've worked on several projects that skimped early on in
the requirements gathering phase, and we suffered for it later. All I can say is, I'll never let that happen to me again.
Designing a beautiful architecture only to find that it can't be made to meet the end-user's needs is no fun. Making up the requirements as you go along is fun for a few months, but then it starts to get old.
As much as you can, it's good to know where you need to end
up before you get started.