1. Introduction
The software engineering community refers to “software processes” as the sum of all software engineering activities, encompassing the entire software life cycle from requirements analysis to maintenance [11], [14]. Naturally, as with all high value business processes, software processes are subject to frequent changes (exceptions). Several process-modeling systems have been built in industry as well as in academia. The argument of this paper is that process awareness is of paramount importance to software teams. Teamwork is a fundamental property of many business processes. Business processes have well defined inputs and outputs and serve a meaningful purpose either inside or between organizations. Organizations increasingly define their software projects as “virtual project teams”, where project members from within the organization cooperate with outside experts and therefore build a “community”, which in many cases operates as a highly distributed team. The project members work on business processes (e.g. Design Review, Product Development) but often project members realize their work as a project and not necessarily as part of a larger business process. Their work often leads to artifacts (documents, products etc.), which need to be shared among project community members.