Supporting software processes for distributed software engineering teams
Software processes relate to the sequence of steps that must be carried out by humans to pursue the goals of software engineering. In order to have an accurate representation of what these steps actually are, software processes can be modelled using a process modeling language (PML). Some PMLs simply support the specification of the steps, while others enable the process to be executed (or enacted). When enacted, software processes can provide guidance, automation and enforcement of the software engineering practices that are embodied in the model. Although there has been much fruitful research into PMLs, their adoption by industry has not been widespread. While the reasons for this lack of success may be many and varied, this thesis identified two areas in which PMLs may have been deficient: human dimension issues in terms of support for awareness and visualisation; and support for addressing management and resource issues that might arise dynamically when a process model is being enacted. In order to address some of these issues, a new visual PML called Virtual Reality Process Modelling Language (VRPML) has been developed and evaluated. Novel features have been introduced in VRPML to include support for the integration of a virtual environment, and dynamic creation and assignment of tasks and resources at the PML enactment level. VRPML serves as a research vehicle for addressing our main research hypothesis that a PML, which exploits a virtual environment, is useful to support software processes for distributed software engineering teams.