1 Introduction
2 The design of the process variant modeling study
2.1 Research method
2.2 Description of the case
2.3 Research plan
Variant | Domain | # Tasks | # Gateways |
---|---|---|---|
Company 1 | Insurance | 10 | 4 |
Company 2 | Insurance | 12 | 6 |
Company 3 | Banking | 9 | 0 |
Company 4-1 | Banking | 14 | 6 |
Company 4-2 | Banking | 9 | 2 |
Company 5 | Telecom | 11 | 2 |
Average | 10.8 | 3.3 | |
PMBOK | N/A | 5 | 0 |
3 Process variant modeling approach selection
3.1 Process variant modeling approach requirements
3.1.1 Domain requirements
3.1.2 4S specific requirements
Approach | Design phase | BPMN | Control-flow perspective | Domain independent | Decision support | Validation | Hierarchy support |
---|---|---|---|---|---|---|---|
ADOM [27] |
\(+\)
|
\(+\)
|
\(+\)
|
\(+\)
| − | ± | ± |
DDM [12] |
\(+\)
|
\(+\)
|
\(+\)
|
\(+\)
| ± |
\(+\)
|
\(+\)
|
PESOA [39] |
\(+\)
|
\(+\)
| ± | ± | ± |
\(+\)
|
\(+\)
|
Provop [13] |
\(+\)
|
\(+\)
|
\(+\)
|
\(+\)
| ± | ± | ± |
3.1.3 Employee specific requirements
3.2 Selection of the approaches
-
The two approaches have different inherent types [5]. Provop provides variability support by both (1) extension of one simpler base process to derive a specific variant and (2) by restriction of an extensive base process by removing unrelated elements. DDM follows a restriction approach by providing an extensive variation map that represents all possible variants of subprocesses.
-
The two approaches use different techniques for building the configurable process model [9]. Provop follows a multi-artifact approach through the definition of an option list together with the so-called base process. DDM is a single-artifact approach capturing all variability in an integrated variation map.
-
The two approaches have different approaches for hierarchy support. DDM is natively built on a decomposition mechanism to represent variability. Thus, theoretically, it supports variability in process repositories. Provop directly implements the BPMN language, thus by definition should be able to support a hierarchical structure. However, it is a topic open for exploration for Provop.
4 Applying the decomposition driven method
4.1 Step 1: Model the main process
4.2 Step 2: Identify variation drivers
4.3 Step 3: Assess the relative strength of variation drivers
Initiate project | Plan project | Analyze and design | Implement | Test | Close project | Create asset | |
---|---|---|---|---|---|---|---|
Company 1 | Complex initiation | Moderate planning | Basic analysis and design | Basic implementation | Basic test | Detailed closure | |
Company 2 | Moderate initiation | Complex planning | Detailed analysis and design | Detailed implementation | Detailed test | Complex closure | Asset creation |
Company 3 | Simple initiation | Basic planning | Basic analysis and design | Basic implementation | Basic test | Basic closure | Asset creation |
Company 4-1 | Detailed initiation | Simple planning | Detailed analysis and design | Detailed implementation | Basic test | Fast closure | |
Company 4-2 | Simple initiation | Fast planning | Basic analysis and design | Basic implementation | Basic test | Simple closure | Asset creation |
Company 5 | Basic initiation | Detailed planning | Detailed analysis and design | Detailed implementation | Detailed test | Moderate closure |
4.4 Step 4: Identify the variants of each subprocess
4.5 Step 5: Perform similarity assessment of variants for each subprocess
×
|
4.6 Step 6: Construct the variation map
4.7 Step 7: Configure a specific process variant
4.8 Step 8: Apply DDM for a subprocess
High-level project planning (PP) | Project categorization | Process appropriateness evaluation (PAE) polling decision | PAE polling | Software project management plan (SPMP) preparation | WBS control | SPMP review | |
---|---|---|---|---|---|---|---|
Company 2 New project | Simple high-level PP | Project categorization | PAE polling decision | Detailed polling | Simple SPMP preparation | WBS control | SPMP review |
Company 2 Conf. project | Simple high-level PP | Project categorization | (None) | (None) | Simple SPMP preparation | WBS control | SPMP review |
Company 5 New project | Detailed high-level PP | Project categorization | PAE Polling decision | Complex polling | Detailed SPMP preparation | WBS control | SPMP review |
Company 5 Conf. project | Detailed high-level PP | Project categorization | (None) | (None) | Detailed SPMP preparation | WBS control | SPMP review |
5 Applying the Provop approach
5.1 Step 1: Design a base process
5.2 Step 2: Define adjustment points
5.3 Step 3: Design and model the options
-
Deleting process fragments In some cases, the team needed to “delete” a process fragment rather than an individual element. For example, it was necessary to delete the whole block structure while removing the optional Control Implementation Quality activity in Fig. 6. In this case, as the process fragment to be deleted already existed in the base process, it was not necessary to model the fragment in the option list. The team used the keyword “All” to imply that the fragment between the start and end adjustment points is to be removed completely in a delete operation. This approach was used in options 3, 6, and 11 in Fig. 7. Although this simplified the option design, the experts found it harder to read the option list as they had to find the exact point in the base process to find out the elements to be deleted.
-
Removing routing elements The team encountered another limitation in updating the control flow while changing an optional activity to a fixed one in the sequence flow. As an example, in one of the variants, the Approve Plan activity was not optional, although it is an optional activity in the base process (Fig. 6). A possible solution was to apply “delete” operation on the related SESE fragment, then insert the activity back. Due to readability concerns, the team did not prefer to follow this approach. Instead, the team designed the option by using the “modify” operation to change the activity property as “not optional”. This approach was used in option 6 in Fig. 7.
-
Possible conflicts during configuration The team found option design a challenging and error-prone task. The team had to evaluate possible conflicts that could emerge as a result of applying operations. For example, the last operation of Option 3 could be defined “From Point: Test Completed, To Point: Ready to Close Project”, instead of the current design. Applying the operation in this way would result in the deletion of the two adjustment points: ”Ready to Prepare Closure”, and “Closure Preparation Completed”. While Provop does not clarify whether deletions of adjustment points are allowed in the options, such a case requires careful revision of other options to ensure that they do not use the deleted adjustment points.
-
Storing process fragments The “insert” operation can be used to add more than one process element at a time. To use the “insert” operation in this way, the team had to store the fragments of process models as part of the option design, rather than as part of the process model repository. The definition of process fragments increases maintenance efforts as these fragments need to be stored and managed in addition to the base process itself, and changes need to be propagated to all variants [9]. Moreover, Provop suggests the use of process fragments in operations applicable to multiple variants [45]. However, the team observed that it is possible to design operations on fragments which are applicable to only a single variant, or a fragment may turn out to be applicable to only one variant in time. For example, considering the “insert” operations in option 11 and 12 in Fig. 7, a process fragment including the activities Prepare Closure Report and Approve Closure could be defined. This fragment would only be used by the variant Company 1. To avoid these two challenges, maintaining additional process information in the form of process fragments and defining fragments that are not reused by different variants, the team decided to “insert” a single process element at a time in an operation. In this way, the labels of activities were sufficient to design the options rather than “models of process fragments”.The two challenges below emerged due to the decision of the team not to use process fragments.
-
Inserting optional activities Provop provides a mechanism to add parallel activities while configuring variants. With an “insert” operation, a process element is added in parallel to the process fragment between the start and end adjustment points [47]. However, the approach does not specify a technique to insert an optional activity which is not part of a process fragment. With the decision to avoid the insertion of process fragments, the team had no mechanism to insert optional (or exclusive) activities in the control flow. To solve this, the team had to place the optional activities of the variants in the base process. This resulted in the addition of optional Approve Plan and Control Implementation Quality activities in Fig. 5.
-
Inserting consecutive activities In relation with the problem described above, since the team decided not to use the process fragment insertion feature of Provop, another technique to add multiple individual activities in a sequence was not available. For this reason, the team designed the base process so that no variant required the addition of multiple consecutive activities within the same start and end adjustment points.
5.4 Step 4: Configure variants
5.5 Step 5: Apply Provop for a subprocess
-
Invisible activities For some variants, some activities were invisible in the base process because they are added through an “insert” operation. Prepare WBS activity is an example of such a case. When the team developed the base process for the related WBS preparation subprocess, there was no possibility to refer to this model from the SPM base process. This caused this subprocess to be “lost” in the variant process model hierarchy structure. To solve this problem in the case of WBS preparation base process, the team placed “standalone” activity symbols for the activities that are inserted to the base process in Fig. 9. SPM base process was also updated accordingly (which is not shown in Fig. 6).
-
Mismatching adjustment points Mismatches can occur between the adjustment points and events of base processes in different levels, as the same activity can be inserted between different adjustment points in different variants. For example Prepare WBS activity can be inserted either parallel to Plan Resources activity, or after it. In both cases, different start and end adjustment points will be applicable. To avoid conflicts with the low-level base process, the team did not reuse adjustment points and did not name start and end events in the low-level base process.
DDM | Provop | |
---|---|---|
Inherent type | Variability by restriction | Variability by restriction and extension |
Modeling technique | Single artifact | Multi-artifact |
Produced outputs | Variation map | Base process Option list with context rules |
Metrics for main SPM process | 24 activities, 10 XOR gateways, and 45 edges | 11 activities, 6 XOR gateways, and 20 edges 11 activities inserted by 14 options 17 adjustment points |
Metrics for subprocess | 17 activities, 6 XOR gateways, 29 edges | 16 activities and 17 edges 3 activities inserted by 4 options 10 adjustment points |
Current (actual) | DDM (estimated) | Provop (estimated) | |
---|---|---|---|
Yearly effort (hours) | |||
Variant creation | 2952 | 1515 | 1063 |
Maintenance | 2117 | 1870 | 1552 |
One-time effort (hours) | |||
Transformation | 0 | 4886 | 4067 |
Yearly cost (TL) | |||
Variant creation and transformation | 253.440 | 169.260 | 130.752 |
One-time cost (TL) | |||
Transformation | 0 | 244.320 | 203.360 |
Return on investment (years) | 2.9 | 1.7 |
6 Findings
6.1 Evaluation of the value of applying a variant modeling approach
6.2 Evaluation of the approaches with respect to user needs and requirements
User need/requirement | Approach | |
---|---|---|
DDM | Provop | |
User Need 1 Establishing a knowledge-base | + Both approaches prove helpful by combining multiple variants in an integrated model | |
+ Main variation map provides an overall view | + Base process is easy to read and use | |
+ Detailed similarities are stored by means of the option list | ||
User Need 2 Maintenance | + Impact analysis of changes are facilitated by means of integrated models | |
− A generic change may require the update of multiple models | + Both generic and specific changes may be eased | |
− Maintenance of the option list requires extra care. | ||
User Need 3 Reuse | + Process knowledge can be used systematically due to integrated knowledge-base | |
+ Variation map enables the observation of all alternatives together | + Particularly practical for configuration-based reuse | |
+ Business and syntactic drivers are useful to identify similar variants | ||
− Challenges arise due to the use of variant modeling approaches | ||
− Subprocesses that are used by multiple process variants require a special solution. | − Activities invisible in the base process require a special solution. | |
− Extra care is required to keep adjustment points consistent among process levels | ||
Requirement 6 Process modeling language | + Both approaches build on BPMN | |
+ Only native BPMN constructs are used | − Additional constructs need to be used | |
+ Complexity of the resulting process models is low | ||
− BPMN modeling rules need to be tailored | ||
Requirement 3 Control-flow | + Both approaches provide techniques to manage control-flow variability | |
+ Representation of variants as distinct subprocesses provide flexibility | + The approach enables the analysis of control-flow differences in detail | |
− The approach does not provide rules to deal with some control-flow-related issues | ||
Requirement 7 Decision support | + Both approaches provide some sort of decision-support mechanisms | |
+ Drivers provide good support to understand business context | − Option list identification is an ambiguous and challenging task | |
− Specialized knowledge of specific variants is needed for configuration | + Option list, once defined, makes it easy to configure a variant |
No. | Source | Needs and constraints of the organization | Suggested approach | |
---|---|---|---|---|
DDM | Provop | |||
1 | N1 N3 R3 | You need an overall view of process variants with all information embedded in the models | X | |
2 | N1 | You want lean models that are easy to read but can be detailed with additional artifacts | X | |
3 | N1 R3 | You need to analyze variations in control-flow perspective in detail | X | |
4 | N2 | You need to maintain your variants frequently due to specific and generic changes | X | |
5 | N3 R7 | The business context is the key for identifying and reusing variant information | X | |
6 | N3 R7 | You need a practical mechanism to configure new process variants | X | |
7 | N4 R5 | You want to follow standard BPMN approach to model variants in a hierarchical structure | X | |
8 | R3 R6 | You don’t want to use extra constructs in your modeling tool or define special rules for process modeling | X |