I have written (and maintained) this guide in the attempt to help you avoid some of the pitfalls of group projects. While you may be thinking that you won't have any problems in YOUR group project, consider the following points. Most Computer Science students, including myself, do not participate in group projects before the Software Engineering classes (and in some cases, the Compilers classes). Thus by the time we get to our 400-level classes, all of our individual working habits are ingrained in us. We are so competitive in our classes, that cooperation and negotiation are secondary to the technical aspects of the projects at hand. We may fixate on getting the work done and not think about the details involved in getting the job done.
If you are a Software Engineering (SE) student, you will likely experience more team projects in your courses. That does not mean that your teams will be perfect either. You had many courses before your SE courses where you worked alone. When people come together, each with his/her own personality, you may find yourself in a team with issues.
During my group software projects I have learned many lessons by trial and error. I can honestly say that I have witnessed every situation in this book at one time or another even during my graduate work. Acquaintances of mine have also encountered many of the issues presented here. So if you find yourself in any awkward situation, you are not alone. For the most part, groups do not instantly "gel" together, but instead must be worked on and refined throughout the project. Keep in mind that most of the time you will need to accomplish a project goal with a group of people that you do not know. Even if you do know some of the people on your team, that friendship may not always be an advantage during a project.
This latest edition includes more material to make your team successful. I am a professor now, and in virtually every course that I have taught I have assigned a team project. Over the years, I have seen dozens of teams, some more successful than others. Each is a learning experience for both the students and myself.
At any rate, teamwork is essential and the intent of this guide is to give you some points to ponder and some skills to help you during your group project. I also hope that you use this guide as a reference, not as some book that your professor is making you read from cover to cover (although that may happen). I have laid out this book so that issues and topics are easy to look up. I hope that this guide helps make your experiences in group projects more productive and rewarding.