BPMN Fundamentals: 4. BPMN Refactoring

Slides:



Advertisements
Similar presentations
Software Engineering: Research Romi Satria Wahono
Advertisements

BPMN Fundamentals Romi Satria Wahono WA/SMS:
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Process Patterns in BizAGI. Slide 2 Overview Types of events Types of gateways Design patterns list.
Chapter 7 Structuring System Process Requirements
Introduction to Control Flow Patterns and BizAgi
1 Introduction to modeling Process modelling. 2 Where are we? #TitleDate 1Introduction ORM modeling Relational modeling
Introduction to BizAgi. Slide 2 User Interface (Summary) The user interface for BizAgi resembles Office It uses a similar ribbon The Palette contains.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
System Concepts for Process Modeling  Process Concepts  Process Logic  Decomposition diagrams and data flow diagrams will prove very effective tools.
Detailed Design Kenneth M. Anderson Lecture 21
© Copyright Eliyahu Brutman Programming Techniques Course.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
BPMN Fundamentals: 4. BPMN Refactoring Romi Satria Wahono WA:
BPMN An Introduction ISIS. © ILOG, All Rights Reserved 2 Definition of BPMN Business Process Modeling Notation provides:  The capability of defining.
Systems Analysis I Data Flow Diagrams
Chapter 2 Accountants as Business Analysts
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
ICT 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 7: BPMN 2.0 Arne-Jørgen Berre.
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
CHAPTER FIVE Dr. Rami Gharaibeh BUSINESS PROCESS MODELS.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Chapter 7 Structuring System Process Requirements
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Knowledge Management: 2. Foundations Romi Satria Wahono WA/SMS:
BPMN Fundamentals: 2. BPMN Basic Concepts Romi Satria Wahono WA:
Object-Oriented Analysis and Design Fall 2009.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Knowledge Management: 3. Solutions Romi Satria Wahono WA/SMS:
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
TOGAF 9 Fundamental: 3. TOGAF ADM
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
BPMN.  BPMN will provide businesses with the capability of understanding their internal business procedures in a graphical notation.
Analysis Classes. What Is an Analysis Class?  A class that represents initial data and behavior requirements, and whose software and hardware-oriented.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Use Case, Component and Deployment Diagrams University of Sunderland.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
BPMN Fundamentals Romi Satria Wahono WA/SMS:
BPMN Fundamentals: 3. BPMN Simulation
BPMN Fundamentals: 5. BPMN Guide and Examples
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Introduction to BPMN.
Elaboration popo.
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
Chapter 3 DOCUMENTING ACCOUNTING SYSTEMS
Analysis Classes Unit 5.
System Architect support for Business Process Modeling Notation (BPMN)
Information Delivery Manuals: Process Mapping
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Introduction to Control Flow Patterns and BizAgi
CSS 496 Business Process Re-engineering for BS(CS)
Business System Development
Dokumentasi Perubahan Proses: Pengantar BPM
Chapter 10: Process Implementation with Executable Models
Specifying collaborative decision-making systems
Chapter 9 Requirements Modeling: Scenario-Based Methods
Marlon Dumas marlon.dumas ät ut . ee
BPMN - Business Process Modeling Notations
Chapter 7: Data Flow Diagram Structuring System Process Requirements
Appendix 3 Object-Oriented Analysis and Design
Business Process Modeling Notation (BPMN)
Presentation transcript:

BPMN Fundamentals: 4. BPMN Refactoring Romi Satria Wahono romi@romisatriawahono.net http://romisatriawahono.net/bpmn WA: +6281586220090

Romi Satria Wahono SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara Magelang (1993) B.Eng, M.Eng and Ph.D in Software Engineering from Saitama University Japan (1994-2004) Universiti Teknikal Malaysia Melaka (2014) Research Interests: Software Engineering, Machine Learning Founder dan Koordinator IlmuKomputer.Com Peneliti LIPI (2004-2007) Founder dan CEO PT Brainmatics Cipta Informatika

Course Outline Introduction BPMN Elements BPMN Simulation 3.1 Swimlane 3.2 Connecting Objects 3.3 Flow Objects 3.4 Artifacts BPMN Simulation BPMN Refactoring BPMN Guide and Examples

4. BPMN Refactoring Misconceptions, Fallacies, Errors, Bad Practices and Bad Smells

The BPMN Silver Bullet BPMN is not a BPM silver bullet, BPMN is only one tool in support of the practice of BPM There are other formalisms, methodologies or tools that are more adapted to and appropriate for certain specific BPM situations or engagements A business process specialist (analyst, architect, etc.) would be well advised to discriminately take full advantage of a diversified BPM tool set

BPMN is Complex BPMN complexity did, in fact, increase. It has to in support of expressiveness and executability. But, it is still possible to create a business process depiction that is simple to understand by anyone Using four shapes in BPMN, it is still possible to unambiguously and precisely describe the flow of activities within a business process We can show how the process starts, what activities take place, the logic of taking one path or the other, and the various states in which the process can end

BPMN Specification Document The specification document is not intended to be read by end users the intended audience of the specification document is the implementers, the software vendors that create tools implementing the BPMN standard Good examples of such segmentation in books are starting to appear: Bruce Silver, BPMN Method and Style Second Edition, Cody-Cassidy Press, 2011 (Diagram) Thomas Allweyer, BPMN 2.0, BoD, 2010 (Diagram) Bizagi Proses Modeler User Guide, Bizagi, 2012 (Tool) Layna Fischer (edt.), BPMN 2.0 Handbook Second Edition, Future Strategies, 2012 (Tips & Tricks)

Events vs Tasks Many people have trouble deciding whether to model the sending of a message as an event (intermediate message throwing event) or as a task (sending task) A notion of time can simply illustrate the difference: an event map to a time point on a time line an event happens instantly at a particular point in time a task map to a time interval to complete a task, some work effort has to be expended over a period of time (the time interval)

Pools, Participants and Processes A Pool depicts a Participant, in Bizagi a pool is a Process A Pool separates the Activities done by one Participant from the Activities done by another Participant A better practice is, to avoid this unintended perspective switchover, do not model the internal process under focus in a Pool Without a Pool to label, the modeler will not have opportunity to fall into this bad practice trap

Pools, Participants and Processes

Gateway The common practice of labeling BPMN Gateways with questions and outgoing Sequence Flows with potential answers tends to lead modelers to improperly believe that BPMN Gateways are decisions A Gateway is only used to control how Sequence Flows interact as they converge and diverge within a Process A BPMN Gateway does not perform any work or make any decision. It cannot be assigned or performed by anyone or anything

Gateway A better modeling practice is to always place an Activity labeled with the question just before the gateway and not to place a label on the Gateway That Activity can then be better specified by type (Manual, User, Business Rule, etc.) and be assigned to a performer

User Task and Manual Task User Task is a task where a human performer performs the Task with the assistance of a software application. A User Task can be any software- assisted task such as calculating a sales commission using accounting system Whereas a Manual Task is a Task that is expected to be performed without the aid of any software application, such as placing order items in a box

Incosistent Naming Bad Smells Best Practice Noun based activity name – indicates that element is an event, data object, or process area as opposed to activity Strong verb + domain specific noun – emphasizes achieving a discrete goal after performing work Gateway named as activity – indicates that a gateway represents a task, which determines the choice Unnamed gateway – it is merely a branching element that does not perform any work, so it should not be named (except for referencing) Words and/or in activity name – indicates multiple activities captured in one activity No conjunctions in names – raise name abstraction level or split into two subsequent/alternative activities Long activity name – indicates that details of activity are emphasized instead of the goal; orients diagram towards textual document Short name + documentation – the name should emphasize the goal, and details of activity can be captured in comments or documentation

Noun based Activity Name X O

Large Process Diagram Decompose a very large business process into a simple process structured in several levels of detail. Use Subprocess to make the models simpler

Inconsistent Use of Gateway Bad Smells Best Practice Multiple incoming/outgoing sequence flows – makes it difficult to understand how many flows are required to come out/in. Always use gateways for branching/ merging – improves readability of the diagram and explicitly indicates control points. Event-based gateway with outgoing sequence flow unconnected to event – makes it ambiguous when the alternative sequence flow should be taken. Apply Deferred Choice pattern – all the sequence flows after event-based gateway should be connected to events. Use timer event to model cases when expected event does not happen Gateway unsynchronized with preceding subprocess ends – shows inconsistency between sub process details and its usage in a larger process. Apply Internal Business Error pattern with synchronized end/branch naming – makes it very straightforward to consistently use gateways and sub processes.

Inconsistent Use of Gateway

Inconsistent Use of Events Bad Smells Best Practice Event outside and inside process – repetition makes it redundant; a formal interpretation would require the event to happen twice Initiating event out of process description – it is easier to read a diagram and understand when/why a sub process needs to be performed Repeating events – complicates diagram and its maintenance A subprocess with attached event – enables to clearly define the scope of an event

Reference Object Management Group, Business Process Model and Notation (BPMN), OMG Document Number: formal/2011-01-04, 2011 Object Management Group, BPMN 2.0 by Example, OMG Document Number: dtc/2010-06-02, 2011 Bruce Silver, BPMN Method and Style Second Edition, Cody- Cassidy Press, 2011 Layna Fischer (edt.), BPMN 2.0 Handbook Second Edition, Future Strategies, 2012 Tom Debevoise, Rick Geneva, and Richard Welke, The Microguide to Process Modeling in BPMN 2.0 Second Edition, CreateSpace, 2011 Bizagi Proses Modeler User Guide, Bizagi, 2012 Bizagi BPM Suite User Guide, Bizagi, 2013 Thomas Allweyer, BPMN 2.0, BoD, 2010