Supporting organizational goals and process improvement in dynamic, multi-level, hybrid software process models
Daniel E. Turk, Vijay K. Vaishnavi · 1999
A software process model describes a set of partially-ordered sequences of activities that are carried out in order to accomplish certain goals relative to software development. Over the past two decades numerous attempts have been made to model software processes. Unfortunately, while much has been learned, and, while many interesting and useful approaches have been tried, none seem to provide the flexibility needed to model all key aspects of a real world software process, including sequencing, goals, multiple levels of abstraction, and continuous change and improvement. Thus, the question this research addresses is, “How can support be provided for organizational goals and process improvement in dynamic, multi-level, hybrid software process models?” Two frameworks and three models were developed as a part of the research for this dissertation. The general problem framework identifies and structures a set of issues that need to be addressed by any process model with respect to support for organizational goals and process improvement in dynamic, multi-level, hybrid process models. The general solution framework includes a variety of constructs and ideas that address the issues identified in the problem framework. The conceptual model describes at a high level major functions, and fundamental constructs, that need to be supported and represented in any software process model. The formal model provides a formal language that could be used to describe these constructs and to support these functions. A running prototype is provided by the executable model, illustrating the feasibility of key modeling concepts that have not been commonly included in current process modeling environments. These frameworks and models are contributions to the process-modeling field, either because of their approach to software process modeling or because they combine various modeling approaches in ways not previously done. In addition, the “open system” approach, the object-oriented focus, the integration of procedural and rule-based paradigms, the explicit support for organizational goals, and the realization that “software process models are software too” are all contributions of this research as well.