Essential tools to project manage:
- Functional Specs - Written by a designer, who will talk to both the clients and the developers. Functional spec is to a developer what an outline is to a novelist. It’s broad strokes: Page flow, general functionality, features. It gives you a map to begin plotting your development with. But never write a functional spec for political-we-all-agreed agreement...
- User Specs - A big picture of what the end users would be given at the end.
- Timeline - Microsoft Office Project. The best Gantt chart software so far.
- Code Versioning - SVN, the popular choice.
- Developers Community - A place for designer and developers to communicate on. A good place would be basecamp by 37 Signals. It includes, Todo, milestones, discussion (on bugs/design/etc...) and collaborative documentation. A commercial software would be Trac or SourceForge, but they need to be setup.
- Blue Flavor has blogged very good entries geared towards developers. Development Motivation and 1o Tips are my favorites.
- Mojofat guide on writing Functional Specifications. Includes Visio and documents as examples.
- 37 Signals on NO Functional Specs - 3y Signals has written a very good article on "Getting Real, Step 1: No Functional Spec". I couldn't more agree with him, when I think back how draggy I was when my superior asked me for a spec to sign off things. Why need a spec just for the political-we-all-agreed documentation? A 1 page summary, coupled with mock up UIs, should explain what the application would achieve.