We often have group projects (CSCI grad school), and I'd like us to be efficient. Should we explicitly vote for a leader? What are tips for making sure that it isn't only one person doing everything?
I appreciate any tips or advice.
Project Management Stack Exchange is a question and answer site for project managers. It only takes a minute to sign up.Sign up to join this community
Should we explicitly vote for a leader?
For a so small number of people probably a leader isn't necessary. You can decide everything together with a simple voting system. A leader probably will make the other two feel not so happy.
What are tips for making sure that it isn't only one person doing everything?
You should try to share the work based on your singular capabilities and excels. If there is someone among you excelling in something in particular, let him do the job.
You can opt for having each person do a different task, or helping each other.
Personally, for only 3 people I would suggest to focus on different aspects of the work.
Remember though, that everybody is part of the project, no matter which things he/she is doing or how much of it. Every opinion o suggestion has the same importance as those of other people involved in the project.
This is the most important thing to respect.
Even if you decide not to have a leader or vote for one then you will find out very quickly that the person with the most type A personality will naturally take charge of the group.
This doesn't mean that person is power hungry or more valuable, but development teams naturally need a lead to help organize tasks, increase efficiencies, tear down roadblocks and communicate the general status to people outside the team.
When I was developing my undergraduate senior project (2 semester project worth 2 class credits) I was a part of a 3 person team. We started without a leader and work progressed haphazardly. When we decided that we wanted someone to be a leader of the group we specifically were looking for someone who could break ties when opinions differed, understood the scope of the project and could be objective in splitting the work among the group and would take responsibility for setting deadlines.
The leader, in our case, was not the boss, but rather was a team member who helped the group maintain initiative. Our leader let the group pick the jobs they wanted and tended to look after the left over tasks (merging documentation, maintaining the repository, preparing reports and presentations generally).
In our experience, it worked out very well.
Someone needs to be responsible for being sure the project is on track and it is meeting its milestones. This may not be a 'leader' or someone who is 'in charge', but you do need someone who is paying explicit attention to whether or not you're on track.
If you're using agile, then a scrum board with tasks and points could help to keep everyone on task.
Even if you're not using 'agile', then I still recommend putting together a kanban or scrum board with all the associated tasks and their status.
It depends on the scope of the project.
For homework assignments that are going to take you a few days or a week, it probably won't matter much beyond having someone say, "hey dude - your part finished?"
However, if you're starting a massive, semester long project that will be taking dozens or hundreds of man-hours for each team member to complete, you definitely need to elect a project leader. That doesn't mean dictator, but there should be someone coordinating the efforts of the team as a whole, and following up with individual team members.
In such a situation, I would even look into setting up a bug tracker that also doubles as a good project management tool - most vendors offer a free version for students working on school projects.
This will give you all experience in being in a structured team (which is what you'll likely find in the real world).
Good luck with your project!
Three relatively equally responsible people should be able to manage themselves. Divide up the tasks and have everyone agree on their area of responsibility. Each member can come up with estimates and everyone should vote on when certain milestones should be reached and the quality of the code (take turns reviewing each other's work).
Having a shared space or document will make this easier. Each person is responsible for keeping the other two informed. Lots of ways to do this; make it simple. A shared spreadsheet should handle it.
If your team was 5 or more, I'd suggest having someone in charge of coordinating task tracking, making simple decisions and having the final vote on strongly debated topics. You can't let discrepancies go on too long; someone may have to make a decision. The more people there are the increase in variation and likely-hood someone will fall through the cracks. You don't need the greatest system in the world, but it is nice if there is some consistency on how things are done.
I feel that you are looking for a leader because there are some conflicts that is not easy to solve. Even if you have a leader in situations of conflict, the leader will not really get a chance to decide on the conflict. He will just be looked as a bully or overthrown(mentally), resulting in other two working more closely. The whole idea of a leader of same experience age group is not good for the project.
Here is some classic management solution
You can even use StackOverflow or StackExchange applications to resolve your conflicts.
Edit: And yeah. Best of luck on the project.
Having a leader on a group project is a bad idea. In the normal work world the leader, or your supervisor will be held responsible when the whole group fails, not each individual person. Since this is a group project you are all considered equally responsible for all things related. Therefore you need consensus among everyone involved when it comes to important decisions such as: application design, development process, and workload balancing. If your group has an even number of people in it, you may need to appeal to a higher power when the group is evenly divided on which approach to take for something. I recommend, in that case that before each discussion, one person be appointed to be the tie breaker (choosen via drawing straws, rotation, etc.) to eliminate arguments.
As others have said, this does not preclude the need for a project manager. This can be done as simply has having a list of tasks to be done and moving them through the stages (open, in development, dev review, qa, closed) via a whiteboard and notecards. It does not require a specific person to stay on top of this task if you all have agreed to how this process works beforehand.
And last, but not least. Communication is going to be your biggest factor of success, most processes breakdown at some point, and you will need to communicate with each other to get past those points.
Here's the thing. The team may not need to be led, but the project has to be managed.
You guys may be able to manage the project collectively, but there is risk. Even if you are not OK with putting someone in charge of the project team, you should put someone in charge of managing the project.
Typically, the project manager is also the team leader and so does task assignments, sets deadlines, and makes decisions, but that it not required.
Project Management, at it's most basic, entails:
I suggest the book Bare Bones Project Management by Bob Lewis as a place to start.
With 3 people I highly doubt you'll to specify one person as the leader. Since each of you only has to keep in mind the progress of the 2 other people and not entire departments, you should be fine in terms of communication.
If you are able to get together regularly enough to perform the duties of a leader as a group (keeping track of project, maintaining communication, planning out and distributing tasks, etc.) then I see no need to designate them to just one person. :D