Work processes in team based software development need to be structured to minimise and resolve conflicting or divergent work.
Current software development methodologies propose ways for dividing the whole task of software development between team members.
This paper suggests a different way of working by introducing modes of collaboration (MoCs), which support concurrent and
collaborative work. A MoC defines how tight two people can work together and how much the rest of the group can demand to
know about a programmer. Different MoCs are ordered in a spectrum from single user’s offline usage up to concurrent editing
of the same source code. Special emphasis is put on balancing gains and efforts that are related to a specific MoC. The second
part of the paper presents how MoCs are implemented in the distributed co-operative software development environment TUKAN.
TUKAN includes synchronous co-operative tools and awareness widgets, which operate on a spatial representation of the software
under construction. TUKAN provides tools for each MoC and allows programmers to switch between MoCs.