How do people get any work done working with other people?
Lots and lots of work in the planning stages usually. I have a friend who works professionally as a software team leader, he says that they spend maybe 2/3rds of their time on projects just planning things out and laying down documentation, and if you work hard enough on making your documentation good enough, then usually the other pieces fall into place fairly easily. And that's not just planning who works on what, you should be laying out documentation on how each piece works with each other long before you ever code a single line. If every person has a good enough set of rules about how their portion is supposed to work and interface with the other portions, then putting them together should be as simple as sticking them both into the same project file and clicking compile, no extra work required. If you are seeing bugs or compile failures that happen due to cross-section stuff (such as one thing trying to take an int and a string as opposed to just a string), then it's usually a pretty good indicator that you didn't do enough documentation work. I've also found that if you all meet in person for these planning sessions (ideally in a place with a whiteboard or other drawing surface to use for brainstorming) then things tend to get outlined a little better than if you are just meeting over your computers, and in general people tend to be at least a little more focused.
Of course, with only two days it's a little late for working on a group computer project "the right way", so that kinda sucks
, but now at least you know how you should be doing it on your next group project! Trust me, you can never have too much documentation about how things work, be that in a separate manual or planning file, or in-code comments. (The average C++ project is at least 22% comments. That means that for every four lines of code you write you should be writing
at least one comment line!)
Sources: Friend that I mentioned, several years of general engineering classes that focuses solely "team and group work", a handful of years as a CS major that also included a few group coding projects, and a couple of years helping out with C:DDA (shameless link in my signature below)
.