Automated support for the enactment of rigorously described software processes

There are many advantages to developing rigorously described software processes. Certainly, they provide the basis for improved project visibility, communication, and coordination. If they are sufficiently rigorous they also provide the basis for effective analysis and error detection which can be used to improve processes. Of the many advantages, however, none strikes me as being more important than the opportunity which rigorous process specifications present for directing the coordination of human and computer resources in support of the effective enactment of software processes. A number of researchers, both at this Workshop and elsewhere, have recognized this opportunity and have begun to study ways of taking advantage of it. Most of this work has focussed on the development of software environments in which explicit software process representations are used to coordinate the application of software tools. As such, this work is forming an important bridge between our software process research community and the software environments research community. Most current research seems to be focussing on 1) what language should be used to express the process description, 2) what should the architecture of a process enaction support environment be like, and 3) what object management facilities should the environment have? In each of these three areas, there are important subissues which I believe are not receiving sufficient attention. In addition, it seems to me that the issues of 1) providing adequate user interfaces to such environments and 2) evaluating process descriptions and environments to support their enaction are both not receiving sufficient attention.