Russ Olsen hits the nail on the head with his recommendation regarding the necessary steps to take when starting a new software project. I have seen project not following these simple rules and quickly becoming Death Marches of sorts. Briefly, these necessary steps include:
1. Establish the software development infrastructure including version control, build, mailing list, defect tracking.
2. Do not develop a framework until you hit the problem on repeatable basis.
3. Meetings should be short.
4. Do not re-write everything from scratches.
5. Talk to your teammates in person.
I'd like to add my own:
6. Do not hire people without Computer Science education.