Actions

Process Model

Revision as of 19:59, 24 July 2019 by User (talk | contribs)

The term process model is used in various contexts. For example, in business process modeling the enterprise process model is often referred to as the business process model.

Overview Process models are processes of the same nature that are classified together into a model. Thus, a process model is a description of a process at the type level. Since the process model is at the type level, a process is an instantiation of it. The same process model is used repeatedly for the development of many applications and thus, has many instantiations. One possible use of a process model is to prescribe how things must/should/could be done in contrast to the process itself which is really what happens. A process model is roughly an anticipation of what the process will look like. What the process shall be will be determined during actual system development.[2]

The goals of a process model are to be:

Descriptive Track what actually happens during a process Take the point of view of an external observer who looks at the way a process has been performed and determines the improvements that must be made to make it perform more effectively or efficiently. Prescriptive Define the desired processes and how they should/could/might be performed. Establish rules, guidelines, and behavior patterns which, if followed, would lead to the desired process performance. They can range from strict enforcement to flexible guidance. Explanatory Provide explanations about the rationale of processes. Explore and evaluate the several possible courses of action based on rational arguments. Establish an explicit link between processes and the requirements that the model needs to fulfill. Pre-defines points at which data can be extracted for reporting purposes. Purpose From a theoretical point of view, the meta-process modeling explains the key concepts needed to describe what happens in the development process, on what, when it happens, and why. From an operational point of view, the meta-process modeling is aimed at providing guidance for method engineers and application developers.[1]

The activity of modeling a business process usually predicates a need to change processes or identify issues to be corrected. This transformation may or may not require IT involvement, although that is a common driver for the need to model a business process. Change management programmes are desired to put the processes into practice. With advances in technology from larger platform vendors, the vision of business process models (BPM) becoming fully executable (and capable of round-trip engineering) is coming closer to reality every day. Supporting technologies include Unified Modeling Language (UML), model-driven architecture, and service-oriented architecture.

Process modeling addresses the process aspects of an enterprise business architecture, leading to an all encompassing enterprise architecture. The relationships of a business processes in the context of the rest of the enterprise systems, data, organizational structure, strategies, etc. create greater capabilities in analyzing and planning a change. One real-world example is in corporate mergers and acquisitions; understanding the processes in both companies in detail, allowing management to identify redundancies resulting in a smoother merger.

Process modeling has always been a key aspect of business process reengineering, and continuous improvement approaches seen in Six Sigma.

Classification of process models By coverage There are five types of coverage where the term process model has been defined differently:[3]

Activity-oriented: related set of activities conducted for the specific purpose of product definition; a set of partially ordered steps intended to reach a goal.[4] Product-oriented: series of activities that cause sensitive product transformations to reach the desired product.[5] Decision-oriented: set of related decisions conducted for the specific purpose of product definition. Context-oriented: sequence of contexts causing successive product transformations under the influence of a decision taken in a context. Strategy-oriented: allow building models representing multi-approach processes and plan different possible ways to elaborate the product based on the notion of intention and strategy.[6] By alignment Processes can be of different kinds.[2] These definitions "correspond to the various ways in which a process can be modelled".

Strategic processes investigate alternative ways of doing a thing and eventually produce a plan for doing it are often creative and require human co-operation; thus, alternative generation and selection from an alternative are very critical activities Tactical processes help in the achievement of a plan are more concerned with the tactics to be adopted for actual plan achievement than with the development of a plan of achievement Implementation processes are the lowest level processes are directly concerned with the details of the what and how of plan implementation By granularity Granularity refers to the level of detail of a process model and affects the kind of guidance, explanation and trace that can be provided. Coarse granularity restricts these to a rather limited level of detail whereas fine granularity provides more detailed capability. The nature of granularity needed is dependent on the situation at hand.[2]

Project manager, customer representatives, the general, top-level, or middle management require rather coarse-grained process description as they want to gain an overview of time, budget, and resource planning for their decisions. In contrast, software engineers, users, testers, analysts, or software system architects will prefer a fine-grained process model where the details of the model can provide them with instructions and important execution dependencies such as the dependencies between people.

While notations for fine-grained models exist, most traditional process models are coarse-grained descriptions. Process models should, ideally, provide a wide range of granularity (e.g. Process Weaver).[2][7]

By flexibility

Flexibility of Method construction approaches [8] It was found that while process models were prescriptive, in actual practice departures from the prescription can occur.[6] Thus, frameworks for adopting methods evolved so that systems development methods match specific organizational situations and thereby improve their usefulness. The development of such frameworks is also called situational method engineering.

Method construction approaches can be organized in a flexibility spectrum ranging from 'low' to 'high'.[8]

Lying at the 'low' end of this spectrum are rigid methods, whereas at the 'high' end there are modular method construction. Rigid methods are completely pre-defined and leave little scope for adapting them to the situation at hand. On the other hand, modular methods can be modified and augmented to fit a given situation. Selecting a rigid methods allows each project to choose its method from a panel of rigid, pre-defined methods, whereas selecting a path within a method consists of choosing the appropriate path for the situation at hand. Finally, selecting and tuning a method allows each project to select methods from different approaches and tune them to the project's needs." [9]