This thesis describes empirical research into project management of software development. Specifically, the aim of the research is to investigate how project managers monitor, control and coordinate software development tasks and how this is affected by changing environments, in this case increased organizational distance between the project manager and elements of the project team. Differing project environments allow investigation into which project management mechanisms are essential, which are required in specific circumstances and which may be useful but not necessarily essential. To explore how software development projects are monitored, controlled and coordinated, a broad range of literature from software development and other fields such as organization theory, supply chain management and automobile manufacture is examined to establish a consensus of the mechanisms of project monitoring, control and coordination and their classification into groups. To better understand how the different mechanisms may be selected in different circumstances, a range of contingencies is examined to deduce which of these contingencies may significantly affect the project management of software development projects.
Outsourced and distributed software development projects are becoming more frequent than in the past with consequent effects on project management practices. Although there has been some research into the ways in which project managers monitor, control and coordinate software development projects, little of it has investigated how the mechanisms employed to do so may be affected by such factors as increasing organizational distance. If more were known about the ways in which changed project environments affected the selection and use of project management mechanisms, better responses to those environmental changes could be devised. This could also identify where tools could be developed to assist project management of outsourced and distributed projects.
In this research, the term 'organizational distance' is used to describe the cultural, structural and administrative distance between the project manager and elements of the project team. Since there is limited information available on the concept of organizational distance, a new model is developed that encompasses the dimensions of distance that may be found in outsourced or globally distributed projects. A second model is then developed that relates changes in the factors of organizational distance with preferred choices of project management mechanism via project contingencies.
Empirical data were collected by structured interviews with project managers who were currently engaged in software development within Sydney, Australia. The method of collecting the data provided both quantitative and qualitative data that enabled three separate ways to investigate the research questions. The empirical research found that project managers do not rely on a single mechanism to monitor, control or coordinate a software development project but employ multiple mechanisms. While the portfolio of mechanisms for both monitoring and control comprised a relatively narrow selection, the portfolio of coordination mechanisms was more diverse.
Project monitoring mechanisms were employed to first detect any project problems then to respond to those problems. This contrasts with monitoring systems designed to provide all the
information about both the existence and probable causes of project problems. Project control mechanisms reflected the origin of the control. The constraints imposed on the project by the organization and used by the project manager to direct the project tended to be outcome related, for example budget and schedule. The behaviour of the project team, even across significant organizational distances, was controlled through the use of project plans that determined when different tasks would be performed. Project coordination mechanisms reflected the different types of dependencies between software development activities. The most common was using a project work breakdown structure, expressed in the project schedule, to resolve sequential and pooled resource dependencies. Mutual dependencies tended to be resolved using interactive mechanisms such as co-location, conversations and meetings.
The empirical evidence did not find any difference between co-located projects and distributed projects so far as the choice of project management mechanisms were concerned. Distributed and globally outsourced software development projects may encounter many difficulties that a fully co-located project does not, but the response to those difficulties appears to lie with the implementation of project management mechanisms and not their selection.