BPMDS'06 121 On Controlled Flexibility Signe Ellegaard Borch1 Christian Stefansen2 1 IT University of Copenhagen, Rued Langgaards Vej 7, 2300 København S, Denmark elleborch@itu.dk 2 DIKU, University of Copenhagen, Universitetsparken 1, 2100 København Ø, Denmark cstef@diku.dk Abstract. Striking a balance between rigidity and flexibility is a central challenge in designing business processes. Striking this balance begins on the type level, because expressiveness on the type level is essential to control flexibility on the instance level. With this paper we would like to start a discussion on the ability to accurately specify flexibility on the process type level. The paper proposes a more detailed categorization scheme than the common categorization of processes into allowed and disallowed sequences. Specifically, three ideas are put forth: (1) Use a finer granularity in classification, (2) make fine-grained classification possible across several dimensions, and (3) provide formalisms, design tools, and systems to make such classifications easy, adaptable, and directly supported in design tools and BPS systems. In addition, the paper poses several open questions related to the suggested approach, most importantly: How can this finer classification scheme be built into current formalisms, tools, and systems and how can we make it pleasant for designers and users to interact with them? Introduction The activity of modeling at the business process type layer can be seen as a classification of all possible sequences of tasks into allowable sequences and disallowable sequences. When one uses a business process tool to classify sequences of tasks, the challenge is striking a balance between support and flexibility. In other words there are two dangers: 1. Too much is allowed 2. Too little is allowed If too little is allowed, the user will find the system too restrictive because it disallows sensible ways of working through the process, and the user will repeatedly have to modify the process on the instance level. If too much is allowed, the system might suggest tasks that are not ready, and it may be difficult to use by inexperienced users, or it may introduce inconsistencies in data because some tasks were handled in the wrong order. In other words, if the system is too flexible, it will not support the users in doing their work. 122 Business Process Modeling, Development, and Support However, the classification into simply allowed and disallowed sequences might not be fine grained enough: ideally, a business process management system should let designers express more complex relations between tasks, and support the end-users with the appropriate kind of guidance, depending on the context of use. The objective of business process support (BPS) systems research should not be to make BPS systems as flexible as possible, as also pointed out in [1] – the goal should be to provide means of controlling flexibility to get the “right rigidity”. In the following we consider several issues in attaining such controlled flexibility. Section 2 discusses the problems of the simple accept/deny type of classification found in many systems, section 3 extends this problem to a setting with multiple inter- related dimensions, and section 4 discusses the issue of how designers and users might interact with such a richer system. Section 5 presents points for further discussion, and section 6 outlines future work, followed by a conclusion in section 7. Balancing Support and Flexibility Consider the following business process type1: a → (b XOR c) → d In essence, this business process type makes a classification. It classifies all possible sequences of the activities a, b, c, and d into those that comply with the description and those that do not comply. The sequences { , } comply; all others do not. Let’s consider the two extremes of flexibility. The dictatorial BPS system is one which allows only the two complying sequences and blocks the user from anything else. The anarchistic BPS system is one which allows all possible sequences of the four activities a, b, c, and d. Neither of these extreme systems is ideal when it comes to satisfying the needs of an organization. An anarchistic system could, for example, present an unstructured task list, where it is up to the user to decide in which order to do the tasks. Such a system would be based on the assumption that people know what they are doing, and that the system should support their work with friendly reminders, but interfere as little as possible, see e.g. [4]. However, some users might need more support than the anarchistic system provides. The right balance between support and flexibility in a system depends among other things on the level of education of the users: how well do they know their tasks, and how well do they know the system. So far we have pointed out some of the problems pertaining to the classification of process flows into allowed and disallowed sequences. It should be possible to use a finer granularity in the classification. Perhaps the categories could be recommended, suggested, allowed, discouraged, and denied (or some other classification appropriate to the context). Instead of classification into 1 This description omits all other perspectives than the purely process-structural perspective, but it is sufficient for the following discussion. BPMDS'06 123 allowed or disallowed sequences, we imagine a continuum, where absolute prohibition is at one end and optimality/best practice is at the other end. The designer specifies which sequences belong where in this spectrum. Controlling Flexibility Across Several Dimensions Any realistic BPS system is likely to support several dimensions in addition to the pure process description. Such dimensions might be users, roles, time constraints, customers, market segments, locations or the employee’s experience to name a few. The key observation is that it is not enough to classify sequences of activities isolation; several dimensions play into the classifications. Consider two examples: (1) Allowing certain activities to be skipped was a tremendous improvement to early-day systems, but a binary “can be skipped” flag on each task is unlikely to work well in practice. Dependent scenarios such as “can be skipped if less than two days left” or “can be skipped by managers” are much more likely. (2) Complicated relations like “managers and supervisors can carry out activity b, but managers are recommended, unless time left is less than four days in which case the supervisor who did activity a is preferred” simultaneously use several dimensions in the process description and a finer classification than a simple comply/not comply. Describing such processes without over- or under-specification is immensely important, because – as stated before – neither a dictatorial nor an anarchistic system is desirable – certainly even less so with more dimensions involved. We must be able to classify relations between tasks along several dimensions, e.g. classifying depending on parameters such as user role, time constraints, customer, or the employee’s experience. From Novice to Developer: Users’ Rights to Make Changes Another aspect of the use side of flexible systems is who is allowed to make changes. Skilled users tend to make workarounds when working with rigid systems [2]. One could argue that a flexible system should be designed to let educated users put their knowledge into the system, instead of making workarounds. The system should allow users to skip tasks and restructure running processes, as well as making changes to the process definitions on the process type level, depending on the users’ experience and authority. Novice users should be allowed to make only limited changes whereas experienced users with organizational responsibility should be able to make fundamental changes. However, one should take the use context into account – the design of user access rights might differ substantially, e.g. depending on whether the system is designed for production or office work. In a production line, other restrictions exist, such as material ones, which means that users should not easily be able to change behavioral or operational aspects of the system. 124 Business Process Modeling, Development, and Support With categories graduated from allowed to denied, flexibility becomes a question of expressiveness, namely: Can the business process designer easily and accurately specify which traces belong in which categories? If the process designer can do this, we have gained controlled flexibility. We must provide tools and formalisms for the process designer, or experienced user, to make this classification as easy and flexible as possible. Questions to be discussed We propose a discussion about the following questions: 1. What granularity is needed to classify sequences of activities? Are three categories (recommend, accept, deny) sufficient? 2. How can we add the notion of classification to the various process description dimensions in current tools and formalisms? A more concrete example: if the designer wishes to specify that activity b can be skipped, but only by a user with role Manager and only if the process time-to-finish is less than 4 days, how can such controlled flexibility (tying together several dimensions) best be accommodated? 3. The designer should be extremely prudent when classifying sequences in the deny category. Can we put forth a proposal for best design practices regarding what should go into the deny category? 4. How might the UI of the end-user be affected by a more detailed flow categorization scheme? E.g. several choices of tasks could be presented but alternative tasks change their status on the task list once they are no longer strictly required. 5. The process design tools should provide ways of recommending what constraints can be violated and what cannot based on e.g. data-flow dependency, resource sharing constraints etc. How should this be built into the design tools? And how can the idea of controlled flexibility be implemented in tools in a way that makes it easy to work with for the process designer? As an example the color or the weight of an edge in a process graph in the design tool could signify whether the particular sequence is recommended, allowed or denied. This is currently not part of what process notations are able to express: e.g. the arrows connecting tasks do not specify this. 6. Is more than one dimension needed? (Perhaps several different soft-goal- based metrics?) Future Work An obvious generalization to be addressed in future work is having several classifications corresponding to several business (soft-)goals. Our example here with classes recommended, suggested, allowed, discouraged, denied could pertain to a best BPMDS'06 125 practice, but other metrics could be employed and give rise to more (orthogonal) classifications. Using Fine-Grained Classification in the Feedback Loop Suppose we have three categories: recommend, accept, deny. The BPS system may write all process instances that were only accepted to a log and occasionally present these to the designer with suggestions for improvements. In this way the categorization serves to create a feedback loop to the designer, thus enabling continuous adaptation and improvement on the business process type level. The BPS system might also use such a classification to monitor soft goals. One soft goal could be lead-time, and sequences that fall in the “accept” category perhaps have a longer lead-time than sequences in the “recommend” category. The BPS system can now help management monitor soft goal achievement by reporting the fraction of instances completing in the “recommend” category. Introducing Finer Granularity in Existing Process Descriptions Introducing a finer granularity in existing processes may involve a lot of quite cumbersome manual work. Hence, an enticing idea is to be able to derive whether a sequence is recommended or simply allowed. A crude first-approximation is simply considering data-dependencies and globally declared rules or goals as – in Soffer’s terminology [3] – essential constraints (violation is denied) and other constraints as inessential (violation is allowed, but not recommended). Deriving a finer classification from pre-existing processes may in fact be useful in two settings: it makes the transition to a fine-grained system easier and it alleviates some of the burden of specification in daily work. Conclusion This paper discussed the notion of controlled flexibility and put forth three suggestions for improvement: 1. Use a finer granularity in classification, that is, rather than just having sequences classified as allow and deny, use a finer spectrum such as recommended, suggested, allowed, discouraged, denied (or any spectrum appropriate to the context). 2. Make fine-grained classification possible across several dimensions. The classification across several dimensions should also be classified on a finer spectrum. 3. Provide formalisms, design tools and systems to make such classifications easy and adaptable. Simple being able to observe after-the-fact that a process followed best practice is not sufficient. The classification should be 126 Business Process Modeling, Development, and Support ubiquitous: when designers describe processes, when users execute processes, when experts monitor processes, etc. A finer granularity improves nothing if it is not visible to designers and users. Finally, we mentioned several points of discussion. The most important being how to construct formalisms, tools, and systems that help us attain controlled flexibility without overwhelming us with verbosity. References [1] Bider, I.: Masking flexibility behind rigidity: Notes on how much flexibility people are willing to cope with, Extended Abstract of Keynote Talk, BPMDS’05. In Proceedings of the CaiSE'05 workshops, Vol. 1, FEUP, Porto, Portugal, 2005. [2] Kammer, P. J.; Bocher, G. A.; Taylor, R. N.; Bergman, M.: Techniques for Supporting Dynamic and Adaptive Workflow. CSCW: The Journal of Collaborative Computing, vol. 9, 2000. [3] Soffer, P.: On the Notion of Flexibility in Business Processes. In Proceedings of the CaiSE'05 workshops, Vol. 1, FEUP, Porto, Portugal, 2005. [4]Wulf, M.; Gryczan, G.; Züllighoven, H.: Process Patterns - Supporting Cooperative Work in the Tools & Materials Approach. Information systems Research seminar In Scandinavia: IRIS 19; proceedings, Lökeberg, Sweden, 10 - 13 August, 1996. Bo Dahlbom et al. (eds.). - Gothenburg: Studies in Informatics, Report 8, 1996. S. 445 – 460, 1996.