The dynamic of working in a team is vastly different from working on your own. If a team is assembled well, it can accomplish more than the individuals could have separately, but that’s the trick—putting together a great team. The following suggestions will help you form a team that will work together and be greater than the sum of its parts.
1. Do some self-assessment.
First, the team members should be honest with themselves about what they’re good at and where they struggle. Members also should think about how they work with others. Even if you have some social anxiety, that doesn’t mean you’ll be bad in a group setting. In fact, research suggests neurotic introverts are often the best team players!
That being said, a willingness to work in a group is essential. The most brilliant programmer won’t be an asset to the team unless willing to check the ego at the door and contribute to the project. A person who is a great asset is the “generalizing specialist,” meaning someone who has a specialty but also has general knowledge in other useful areas. For instance, an analyst could be a specialist in requirements but also have general knowledge about testing. If the team is falling behind in testing, that analyst can help out there.
Having done individual self-assessments, members can do a more realistic team assessment. Do all team members have jobs they are well-suited for? Are team members confident and clear about their roles? What does it look like the team’s strengths will be, and what could present a challenge to the team?
2. Map out the path to the goal.
When a team first forms, it’s important that everyone knows what the team is ultimately working toward and the steps that will be taken to reach that goal. Another useful exercise would be to evaluate where the team is in relation to the goal at every release, iteration, and meeting, and to discuss what will be done between this meeting and the next one to get one step closer to that goal. Agile teams often reset every day in this way with a daily standup or scrum meeting.
Agile teams provide a good model with five levels of planning: product vision, product roadmap, release plan, iteration plan, and daily plan. This model works with both small- and large-scale projects.
3. First things first.
Scrum and Extreme Programming (XP) both emphasize the importance of prioritizing to promote frequent releases in short development cycles. Team members should focus their time on work that adds value while minimizing time spent on work that doesn’t. This means evaluating what requires immediate attention and what can be put on the back burner. Areas of the project to keep in mind are the daily plans, the release plan, product and spring backlogs, and defects and technical debt.