Virtual teams and dynamic role allocation

Traditionally, during the processes of forming a software development team of individuals responsible for a specific project and allocating the available roles between team members there are certain criteria to be used such as (a) the type of the project, (b) the required number of team members, (c) the disciplines related to the project, (d) the duration of the project, (e) the technical skills of candidate team members, (f) the workload of individuals, (g) their knowledge, and (h) experience. However, a continuously increasing number of factors lead to the transition from traditional co-located software development teams to virtual teams. Such teams are geographically dispersed, even residing in different time zones and usually have significant cultural differences between their members. Introducing virtual software teams brings numerous benefits to the software industry such as (a) gaining access to a global pool of specialised skills, (b) reducing the time-to-market with “follow-the-sun” development, and (c) reducing development costs through outsourcing to low-wage countries. Distance and time differences make virtual teams heavily dependent on technology for their collaboration, interaction and communication between teams and their members, and management of their projects. This paper briefly describes the process of dynamic role allocation in teams and the factors that affect this process over time. It identifies the key concepts of the entire process of forming a development team and allocating roles to team members. Based on these concepts the paper discusses design issues for modelling the overall process using object-oriented methodology and describes a prototype that facilitates knowledge management and supports decision making of project managers while dynamically allocating roles. Next, this paper focuses on virtual teams, their special characteristics, and how these affect dynamic role allocation. It also describes how the design and implementation of tools to support knowledge management, and decision making of project managers in software development teams are altered when virtual teams are concerned. Issues such as location of collaborating teams, time differences between interacting team members, cultural differences between communicating parties, and constraints on resources and technology related to time and place are reviewed. Finally, this paper suggests some avenues for future research concentrating on the structure and processes of software teams in the future. Project managers will be responsible for ever-changing teams and constantly updating roles. Software developers will have the opportunity to be members of different teams simultaneously and teleworking on parallel tasks through the use of electronic contracts, making the future of software development a reality.