Team Strategy

Created By: anoopg
Last Modified: 09/05/07
Link: The Theory
Summary: Why is team strategy important? There is only one computer, so it has to be shared. The problems have to be distributed in some way. Why not use the synergy that is always present within a team?
``Specialization'' is a good way of using the inherent synergy. If each team member is an expert for a certain category of problem, they will program this problem more robustly, and maybe more quickly than the other two team members. Specialization in another sense is also possible. Maybe one of the team is a great programmer but has poor analytical skills, while another member can choose and create algorithms but cannot write bug-free programs. Combining these skills will lead to bug-free solutions for difficult problems!
Another way to use synergy is to have two people analyze the problem set. Four eyes see more than two, so it is harder for a single person to misjudge the difficulty of a problem. Forming a think-tank in the early stages of a contest might help to choose the best problems from the set and find correct algorithms for them. However, once the algorithm is clear, more than one member working on a single program should be avoided.
It is our experience that the most efficient way to write a program is to write it alone. In that way you avoid communication overhead and the confusion caused by differing programming styles. These differences are unavoidable, though you should try to use the same style standards for function and variable names. In this way you can really make 3*1 equal to four!


