I study in software engineering and this year a new association at my university is opening a robotic submarine club. It's a new club and they needed software guys for micro-controllers manipulation, gui output and other software oriented requirements.I've been accepted to the club and there is nothing established right now. Although the language might not matter on a higher level we are working in C++ under a UNIX system. Since I have to set up the base I'd like to have input from people with experience on starting up big projects with collaboration in mind. Obviously we want this to scale nicely over the years and have a solid API for the future students who will replace the older ones.So to make my question more precise, I'm looking for tips on setting this up and perhaps books that could help me. I'm comfortable on implementation in C++ and I've done some analysis and conceptual OO courses too. It's really just that I've never had the chance to start up on something bigger than a 2-3 man group with SVN. I don't know either if there is a similar JUnit system and perhaps maintenance system that works well for C++ that I could set up for the team(I've used maven with trac in Java).This is an opportunity for me and the others because we have a green flag on using any of the latest technology and best practices, so I would like to exploit that and learn a thing or two about software management that I wouldn't normally learn in a company with a system already in place.
Beginning development of a C++ project
c++;project management
Language doesn't matter.  You want:Source revision controlAutomated integration serverAutomated unit, integration and acceptance testsA reasonably easy to manage build systemBug/task repositoryFor unit testing I like BOOST.Test or CppUnit.For building I think CMake is pretty far above the rest but maven might work as well.For bugs and tasks you can use Jira or Bugzilla.  The former is quite a bit better but costs money after 10 users.  You can get a scrummy backlog too called Greenhopper.