Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Project Process ModellingPurpose / Characteristics
Business Process Model and Notation (BPMN)
Project Process Modelling
Want processes to be …
Planned / Tailored to context / Adjusted based on experience
Process model defines how to reach a specific goal
WHO is doing WHAT, WHEN, and HOW?
Characteristics of a good process model
Guidelines for efficient development of quality software
Reduce risk and increase predictability
Promotes common vision and culture
Attributes of a project process model
Activities of the process
Order and scope
Pre- and post-conditions
Performed one or several times?
Roles involved
Artefacts / Deliverables
Models / Documents / Source code / etc.
Methods / Practices / Tools involved in the process
Purpose of (descriptive) process modelling
Understand the process
Communicate aspects about the process
Support management
Guide the work effort
Identify typical deviations from the prescribed process models
Improve software development activities
Support measurement and evaluation
Support automatic process enactment / decision-making
BPMN - Background
Standard Simplicity and Expression
● Not owned by any enterprise
● Standard for OMG (Object Management
Group)
● Current version: BPMN 2.0
● Simple notation
● Graphical representation
● Precise descriptions
● Based on flowcharting
References
The following examples are taken from: https://camunda.org/bpmn/tutorial/
Great resource: Check this site out for more on BPMN-modelling
Events and Tasks: Example I
hunger noticed
acquire groceries prepare meal eat meal
hunger satisfied
meal prepared
What is happening in the above diagram?
What information can we derive from the flowchart?
Events
Tasks
Order of occurrence
Start Event
hunger noticed
acquire groceries prepare meal eat meal
hunger satisfied
meal prepared
Shows which event causes the process to start
The “triggering” event
Representation
Outlined circle
Tasks
hunger noticed
acquire groceries prepare meal eat meal
hunger satisfied
meal prepared
The “heart” of the process
Something that should happen to produce a desirable outcome
May contain sub-processes
Representation
Rounded rectangle
Tasks
hunger noticed
acquire groceries prepare meal eat meal
hunger satisfied
meal prepared
Naming conventions
Adhere to object-oriented design principles
[verb] + [object] pattern
[acquire] + [groceries]
[prepare] + [meal]
[take care of shopping]
[start the cooking process]
Intermediate events
hunger noticed
acquire groceries prepare meal eat meal
hunger satisfied
meal prepared
Represent a significant status reached in the proces
Used somewhat infrequently
Mostly useful for communicating milestones
Representation
Double-outlined circle
End events
hunger noticed
acquire groceries prepare meal eat meal
hunger satisfied
meal prepared
Status reached at the end of a process path
Marks the process as completed
Representation
Thickly outlined circle
Basic Events in BPMN
START
The “triggering” event for the process
INTERMEDIATE
Something that happens between start and end
END
Result of a process
Additional Events in BPMN
http://bpmb.de/poster
Cle
rkLo
gist
ics
Man
ager
War
ehou
se
Wor
ker
Har
dwar
e R
etai
ler
Pools, Swimlanes, and Gateways: Example II
Decide if normal post or special shipment
Package goods
Request quotes from
carrier
Check if extra
insurance is necessary
Goods to ship Mode of
delivery
Special carrier
Normal post
Fill in post label
Take out extra
insuranceextra
insurance required
always
Assign carrier and
prepare Paperwork
Move package to picking
area Goods available
Insurance included in carrier services.
Pools, Swimlanes, and Gateways: Example II
What does the diagram tell us?
What are the tasks in the process?
Who is involved in the process?
Pools, Swimlanes, and Gateways: Example II
What does the diagram tell us?
What are the tasks in the process?
Who is involved in the process?
Diagram shows …
Preparing steps a hardware retailer has to fulfill before shipping
Sequence of events
Roles and responsibilities
Business rules
Cle
rkLo
gist
ics
Man
ager
War
ehou
se
Wor
ker
Har
dwar
e R
etai
ler
Pools and Swimlanes
Decide if normal post or special shipment
Package goods
Request quotes from
carrier
Check if extra
insurance is necessary
Goods to ship Mode of
delivery
Special carrier
Normal post
Fill in post label
Take out extra
insuranceextra
insurance required
always
Assign carrier and
prepare Paperwork
Move package to picking
area Goods available
Insurance included in carrier services.
Pools and SwimlanesS
ub_1
Par
ticip
ant
Sub
_1S
ub_1
PoolsPartitions in a business process
Specific entity (department) / Role
SwimlanesSub-partitions of pools
E.g. Pool: “Hardware Retailer” | Lanes: “Warehouse worker”, “Clerk”, “Logistics manager”
Cle
rkLo
gist
ics
Man
ager
War
ehou
se
Wor
ker
Har
dwar
e R
etai
ler
Gateways
Decide if normal post or special shipment
Package goods
Request quotes from
carrier
Check if extra
insurance is necessary
Gods to ship Mode of
delivery
Special carrier
Normal post
Fill in post label
Take out extra
insuranceextra
insurance required
always
Assign carrier and
prepare Paperwork
Move package to picking
area Goods available
Insurance included in carrier services.
Parallel Gateway
Splits sequence flowOutgoing branches are activated simultaneously
Upon merging → Wait for all incoming branches to complete
From exampleClerk decides normal or special shipment
Warehouse worker can already start packaging the goods
Decide if normal post or special
shipment
Package goods
Exclusive Gateway
Routes sequence flowChoose exactly one of the outgoing branches
Upon merging → Wait for one incoming branch to complete
From exampleIf special shipment, Clerk requests quotes from different carriers
If normal post, Clerk needs to check if extra insurance is necessary
Check if extra insurance is necessary
Request quotes from carriers
Normal post
Special shipment
Inclusive Gateway
Splits sequence flowOne or more branches are activated
Upon merging → All active incoming branches must complete
From exampleIf extra insurance required, Logistics manager must take out extra insurance
Regardless, Clerk must always fill in a postal label for the shipment
Take out extra insurance
Fill in post label
extra insurance required
always
Cle
rkLo
gist
ics
Man
ager
War
ehou
se
Wor
ker
Har
dwar
e R
etai
ler
The Whole Picture
Decide if normal post or special shipment
Package goods
Request quotes from
carrier
Check if extra
insurance is necessary
Goods to ship Mode of
delivery
Special carrier
Normal post
Fill in post label
Take out extra
insuranceextra
insurance required
always
Assign carrier and
prepare Paperwork
Move package to picking
area Goods available
Insurance included in carrier services.
Wait for activated tasks
Synchronise parallel
gateways
Exercises
● Study the BPMN-poster available on the course webpages:
Activity types
Event types
Gateways
Pools and Swimlanes
Data and message flow
Choreographies
● Create a process model for case in the weekly task
Closing Remarks
These slides are based on:
Lecture slides by Dag Sjøberg and Yngve Lindsjørn
Larman, C. and Vodde, B. (2009). Scaling Lean & Agile
Development: Thinking Organisational Tools for Large-Scale Scrum.
Addison-Wesley.
Online BPMN-modelling tutorial: https://camunda.org/bpmn/tutorial/