“If you have an apple and I have an apple and we exchange these apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.” – George Bernard Shaw
There’s no way to overstate the importance of a great team to succeed in Kaggle competitions or any other competition for that matter. Since success in these competitions depend at a problem from many different aspects and trying out many different models before zeroing on a solution, it often requires tasks to be carried out in parallel.
By working with different Kagglers you get exposure to multiple techniques and tools to solve problems. It also helps you in areas where you have limited expertise. For example, consider the situation where a person is a statistician but has never worked on retail or banking projects. It makes sense for her to team up with a person with banking experience for banking related problems and a person with retail experience for challenges in retail domain.
In this post I’ll focus specifically on teams comprising of Data Scientists aimed at accomplishing a specific task or projects by breaking them into smaller tasks (like Kaggle challenges).
A 2009 study from MIT’s Sloan School of Management found that virtual teams working for software companies were regularly outperforming on-location teams with proper systems in place. I’ll focus on a seven step process that will make the team work effective while working on an analytics project:
1. Formation of the team-
A team comprises of members with different levels of expertise. Expertise is decided based on experience, education, past participations and peer evaluation(see point 7)
2. Make the time to get to know your team and encourage camaraderie-
Usually teams are formed with a healthy mix of technical expertise and domain expertise. Knowing each member’s strengths and weaknesses will ensure a balanced work distribution
3. Ensure cohesion of the group-
Agree on a format for how you will conduct business. These are often a more informal set of rules to help you get organized.
4. Brainstorm on various ways to approach the problem-
Ask as many relevant questions as possible at this stage. Think of your work as puzzle pieces that can be placed together in a variety of ways.
5. Break the project work into independent tasks that can be achieved by one individual-
this is where team lead has to play an important role. The distribution of work should take into account each member’s expertise and ability.
6. Ensure each team member is contributing fully-
every member should have visibility into other member’s work. Once the first version is ready team lead with the help of another member will collate the codes, run it and evaluate the results. Based on the result there can be several iterations to arrive at the optimal solution.
7. At the end there is a peer evaluation
where each team member rates other members (including team lead) on the basis of their contribution
For those leading a team of highly motivated people-
Team leaders often has the additional responsibility of distributing and allocating the tasks and take a call in situations where two or more approaches to problem are equally appealing.
Though you may be in-charge, how you work may not be appreciated by those who work for you. Even though you have good intentions, make sure you hold yourself accountable to course-correct and and be critical of your approach from time to time to assure that you’re leading from a position of strength and respectability.