Here is what development stack our team of five developers is using over a year now:
- Eclipse IDE (worked better for us than NetBeans)
- Maven as a project comprehension and build tool -- simply a must tool!
- Nexus: The Maven Repository Manager -- serves as a local Maven repo for proxying, and for managing internal and 3rd party libs; simple in use and is really necessary if you're going to use Maven
- Subversion for source versioning -- was chosen mainly due to very good IDE support (Subclipse for Eclipse IDE)
- Trac as a bug tracking and requirement management tool -- it nicely integrates with Subversion, has very useful plugins including blog and discussion plugins; also it can be integrated with Eclipse Mylyn.
- Hudson as continuous integration, which nicely integrates with Subversion, Maven and Trac -- very valuable even for a small team.
- Sonar code quality management platform -- a tool which integrates a large number of code quality matrix with intuitive web interface supporting code review and drill-down facility for analysis of the problems; integrates with Maven.
In our case this development stack is running under Ubuntu (workstation components: Eclipse IDE, Maven) and CentOS (server components: Maven, Nexus, Subversion, Trac, Hudson, Sonar).
As for the documentation, LaTeX (TexLive and Kile under Ubuntu) works just great supporting high quality PDF generation. The documentation source can be managed by Subversion the same way as the application source. Allows making of simple several page document and large multi-chapter books.
Hope this helps.