GDPA  
Taxonomies on process technologies  

Taxonomies on process uses

1995
Reference /Totland, 1995/ A Survey and Classification of Some Research Areas Relevant to Software Process Modeling
Classification Intends:
  • Understanding:
    Requires a high level abstraction of the process model for building mental models of a real world phenomenon.
  • Communication:
    Requires a high level abstraction of the process model for inter-human exchange of information in model.
  • Evolution:
    Requires a high level abstraction of the process model to influence and control process evolution.
  • Analysis:
    Requires a medium level abstraction of the process model for the manual walkthrough of model.
  • Simulation:
    Requires a medium level abstraction of the process model to execute of model in synthetic environment (dry-run).
  • Planning:
    Requires a medium level abstraction of the process model to attempt to predict future events or actions.
  • Coordination:
    Requires a low level abstraction of the process model to attempt for synchronization of human activities.
  • Enactment:
    Requires a low level abstraction of the process model to attempt for the interpreted human- and computer-based execution.
  • Monitoring and Measuring:
    Requires a low level abstraction of the process model for suveillance of progress and data gathering.
1992
Reference /Curtis, 1992/ Process Modelling
Classification Process Uses:
  • Facilitate Human Understanding and Communication
    requires that a group be able to share a common representational format.
    - Represent process in form understandable by humans.
    - Enable communication about and agreement on software processes.
    - Formalize the process so that people can work together more efficiently.
    - Provide sufficient information to allow an individual or team to perform the intended process.
    - Form a basis for training the intended process.
  • Support Process Improvement:
    requires a basis for defining and analysing processes.
    - Identify all the necessary components of a high-yield software development or maintenance process.
    - Reuse well-defined and effective software process on future projects.
    - Compare alternative software process.
    - Estimate the impacts of potential changes to a software process without first putting them unto actual practice.
    - Assist in the selection and incorporation of technology (e.g. tools) into a process.
    - Facilitate organizational learning regarding effective software processs.
    - Support managed evolution of a process.
  • Support Process Management:
    requires a defined process against which actual project behaviours can be compared. - Develop a project-specific software process to accomodate the attributes of a particular project, such as its product, or organizational environment.
    - Reason about attributes of software creation or evolution.
    - Suport development of plans for the project (forecasting).
    - Monitor, manage, and coordinate the process.
    - Provide a basis for measurement, such as definition of measurement points within the context of a specific process.
  • Automate Process Guidance in Performing Process:
    requires automated tools for manioulating process descriptions. - Define an effective software development environment.
    - Provide guidance, suggestions, and reference material to facilitate human performance of the intended process.
    - Retain reusable process representation in a repository.
  • Automate Execution Support:
    requires a computaional basis for controlling behaviour within an automated environment. - Automate portions of the process.
    - Support cooperative work among individuals and teams by automating the process.
    - Automatically collect measurement data reflecting actual experience with a process.
    - Enforce rules to ensure process integrity.

GDPA Online Last Updated 01.Jan.2002 Updated by Webmaster Last Revised 01.Jan.2002 Revised by Webmaster