Professional Documents
Culture Documents
INTEGRATED
MODELLING
METHOD
Process Modelling
John Owens
The development of
IMM™has brought A business mo del l ing method for
Business Modelling into pr ofessi on al ana l ysts and business
the 21st Century per sonnel a l i ke.
Trademarks
The term IMM™ and the IMM™ Logo are both registered
trademarks.
Copyright © 2009
TM
IMM – INTEGRATED MODELLING METHOD PROCESS MODELLING
CONTENTS
1 I N T R ODUCTION 1
1.1 I M M ™ 1
2.2 W h i ch Model? 4
3 DEFINITIONS 4
3.1 Process 4
6 BUILDING A PROCESS 11
6.2 E x a m p l e 14
6.4 Exercise 1 18
7 P R O C E SS FLOW 18
7.1 Precedence 19
7.3 Triggering 21
7.7 B r a n c hing 28
7.13 Exercise 2 40
9 SWIM LANES 44
10.1 Trigger 48
10.5 S w i m Lane 50
11 W ORLDVIEW 51
13 TUNING PROCESSES 60
13.3 Exercise 3 63
14.3 E x a m p l e 64
15.2 I M M ™ Approach 69
18 S O LUTIONS TO EXERCISES 73
19 G L O SSARY 87
3 DE FI NI TIO NS
This section defines all of the terms you will need to know in order to
model Business Processes successfully. The Glossary in Section Error!
Reference source not found. contains definitions that cover all of the
elements of IMM™, business analysis in general and some elementary
systems design definitions.
3.1 PROCESS
A Business Process, usually referred to simply as a Process, is the
definition of the order of execution of Business Functions, usually
referred to as Functions, in order to arrive at a particular Outcome, given
one or more specific Triggers.
Every Process must have at least one Trigger and at least one Preferred
Outcome.
Element Definition
Objective This is the starting point for all Processes. It describes
what the Process is meant to achieve.
Rule: No objective = No Process!
If there is nothing to be achieved, then there is no need to
link activities together to achieve it!
Sadly, many ‘Processes’ in real life have been built without
objectives and, unsurprisingly, seem to achieve very little!
An example of an objective for the Process ‘Receive and
Resolve Domestic Billing Query’ would be:
“To ensure that all billing queries from domestic
customers are dealt with in a consistent manner and
resolved in the shortest time either by explanation or
by correction of errors.”
Element Definition
Description A description is added whenever it is necessary to expand
on or qualify the objective. For example, for the Process
‘Receive and Resolve Domestic Billing Query’ the
description might be:
“This Process deals only with queries from domestic
customers. All domestic queries should be resolved
within 24 hours of receipt of the query.”
Name A unique name that succinctly describes the Process
objective. The naming convention for Processes is
identical to that for Functions as described in the IMM™
book Function Modelling.
In summary these are:
• The name should begin with a strong, positive,
active verb.
• The verb should act on a noun or nouns.
• All major words should be capitalised.
Examples of Process names are: ‘Recruit Employee &
Assign to Post’, ‘Receive Order & Confirm Acceptance’,
‘Receive and Resolve Customer Billing Query’.
Trigger A specific occurrence that initiates the Process within the
business by ‘triggering’ the Function that is the first step in
the Process. Every Process must have at least one
Trigger.
Preferred This is the result that the Process is preferred to achieve
Outcome and can be thought of as concise way of expressing the
objective for the Process. Every Process must have one
Preferred Outcome.
Non- This represents a desired Outcome for the Process if the
preferred Preferred Outcome is not achievable. A Process may
Outcome have many Non-Preferred Outcomes.
This is the only optional element of a Process because it is
possible, though unusual, for a Process to have no Non-
Preferred Outcomes.
Events Triggers and Outcomes can be collectively referred to as
Events (with a capital “E”).
Process Each step in a Process must be a Function from the
Steps Function Catalogue. Ideally each one should be
elementary Business Functions (EBF’s) or, failing that, an
atomic Function from the Catalogue as it stands at this
stage in analysis.
Element Definition
Process This defines the order in which the Process steps should
Flow be carried out and how each step is related to the
preceding and following steps. In essence it defines how
control moves from Function to Function within the
Process. Process flow is described in detail in Section 7.
Detail on the information that ought to be supplied for each of the above
Process elements is described in SectionError! Reference source not
found..
Process Flow
Element Representation
Objective The objective for the Process need not appear on the
diagram but, if is felt that it would aid in understanding
the diagram, it can be placed in a rectangle positioned
either at the top right or along the bottom. When using
CASE tools (see Section Error! Reference source
not found.) the objective is held within the tool and
can be printed on reports as and when required.
Description The description need not appear on the Process
diagram but can be added to the same box as the
objective whenever it is felt that it will add clarity.
When using CASE tools the description can be printed
when required.
Name The name of the Process should appear in a rectangle
at the top left of the Process diagram. This is not just
technical drawing standard but essential to tell those
viewing the diagram what the Process is as opposed
to leaving them to guess!
The version number of the diagram and the date it was
drawn should also appear in this box.
Element Representation
Advertise Vacancy Assess Sc edule Interviews Interview Selec t a Candidate Offer Position to Hire Candidate
Applications Candidates Candidate
Element Comment
<Break in Extract>
7 PRO CE SS FL OW
We talked about Process flow briefly in Sections 3.2 and Error!
Reference source not found.. We will now look at it in more detail and
the way it is portrayed on Process diagrams.
7.1 PRECEDENCE
E1 A A B B O1
1) Control within the Process passes from the object at the source
of the arrow to the object at the point of the arrow.
2) The object at the point of the arrow cannot be carried out until the
object at the source of the arrow has finished.
The above diagram shows the most common form of Process flow. The
arrow going from Function A to Function B tells us:
The term ‘in the context of the Process being modelled’ is used to point
out that the Process flow shown between objects on a particular Process
diagram can be thought of as being valid and true ONLY in the context of
the Process the diagram represents.
For this reason each statement in the following text defining Process flow
should be thought of as beginning with the phrase ‘in the context of the
Function being modelled’.
They ask themselves: ‘Is it really true that B cannot begin before A is
complete?’ or ‘can B really begin anytime after A has finished?’ The
responses to these questions often bring changes that significantly
improve the Process being modelled. The term ‘improve’ is perhaps an
understatement as they often change the Process from being wrong to
being right!
FUNCTION TO OUTC OM E
B O1
<Break in Extract>
7.7 BR ANCHIN G
In real life Processes will not be as simple and straightforward as those we
have dealt with so far. Most Processes will include ‘branches’ where the
route through the Process splits. There are two types of branch:
unconditional and conditional.
Develop Project
Plan
Initiate IT Project
Determine
Software
Requirements
In the above example, if the customer has a good credit rating then we
proceed with the order and verify the product status. If the credit rating is
bad we reject the order and end the Process. Because the route taken is
based on some condition being satisfied this is called a ‘conditional’
branch.
Because the conditions being met are mutually exclusive, i.e. the
customer must either have a good credit rating or a bad one, the flows
leaving the decision making Function are also said to be mutually
exclusive. The drawing convention in IMM™ for showing mutually
exclusive flows leaving a Process is a line drawn across the flows. This
line is called an ‘arc’.
The Function ‘Reject Customer Order’ may not have existed on the
Function Catalogue at the start of Process modelling as the need for it
may only have become apparent during Process modelling and so will
need to be added to it. Adding new Functions to the Function Catalogue
is an integrated part of Process modelling and is covered in detail in
Section Error! Reference source not found..
The evaluation carried out by a Function can result in any number of (two
or more) predefined states, so any number of flows can be included in an
arc.
Reject Customer
Order
bad credit rating
In the example above the Function ‘Verify Customer Status’ evaluates the
customer’s credit record and classes it as one of three possible statuses,
‘good’, ‘medium’ or ‘bad’. Each of these statuses will pass control to a
different Function after the completion ‘Verify Customer Status’.
YES YES
• This approach detracts from the elegance of the Process model. This
desire for elegance is not just an aesthetic thing. A Process diagram
is a visual aid to understanding a Process and, as such, should be
pleasing to the eye. If it is, it will also be easier to understand and
will reduce confusion and ambiguity.
For these reasons IMM™ does not use or advocate the use of binary
decision boxes in Process diagrams.
<Break in Extract>
9 SWIM LA NE S
When modelling Business Processes it is often important to know what
part of the organisation does each step in the Process, or the location at
which each step is done, or what job role does each step.
The use of ‘Swim Lanes’ is an effective way to show these things. They
are rectangles stretched across the Process diagram and can be used to
represent:
• Business departments
• Business locations
• Job roles
• Types of technology
Each step in the Process is then placed in a swim lane. The term ‘swim
lane’ came about by somebody thinking that the horizontal rectangles
across the page looked like the lanes in a swimming pool viewed from
above!! (There are such individuals!)
Customer
Services customer order Accept Customer Verify Customer Confirm customer order
received Order Status Acceptance of accepted
Customer Order
Stores
Verify Product Verify Stock Status Reserve Stock for
Status Customer
There are major benefits in using swim lanes in this way. It can answer
such questions as:
• How many times during the Process does responsibility pass from
one department to another?
Head Office
customer order Accept Customer Verify Customer Confirm customer order
received Order Status Acceptance of accepted
Customer Order
Warehouse
Verify Product Verify Stock Status Reserve Stock for
Status Customer
In the above diagram the swim lanes represent locations at which the
business is carried out. The diagram tells us:
This may all seem self evident from such a simple diagram but in a real life
situation the Process would be larger and more detailed and there could
be numerous locations. In such circumstances the visual representation
that a Process diagram provides can enable problems and solutions to be
visualised that might not be possible to appreciate using text alone or even
matrices (see Section 9.5).
Senior CSR
customer order Accept Customer Verify Customer Confirm customer order
received Order Status Acceptance of accepted
Customer Order
Senior
Storeman Verify Product Verify Stock Status Reserve Stock for
Status Customer
The above diagram shows swim lanes being used to represent job roles.
This tells us:
• What the responsibilities of a Senior Customer Services
Representative and of a Senior Store Man are with regard to
processing customer orders.
• The Functions in which both of these job roles will require training.
• The circumstances in which these two job roles will need to
communicate.
Knowing such things can enable the business to make sure appropriate
training is developed and made available and that the people performing
these roles are supplied with the correct technology to allow them to carry
out the Functions.
The use of swim lanes to represent job roles is normally not done when
building Process diagrams but restricted to business procedures.
PC Based
Sales System Accept Customer
Order
Main Frame
Accounts Verify Customer
System Status
Main Frame
Stores Verify Product Reserve Stock for
System Status Customer
The diagram above shows how swim lanes can be used to represent
technology. Such a diagram can be useful in visualising where disparate
technologies are used across a single Process.
Customer
Services Verify Customer Verify Product
Status Status
Stores
Verify Stock Status
Production
The problem with stretching the box across all swim lanes is that it is
unclear what happens after ‘Verify Customer Status’ is complete.
• Is the next step triggered in all three departments at the same time?
This would be very undesirable and is very unlikely.
• But, if that is not the case, what does happen?
If a Function can happen in several departments there must be conditions
that occur that cause the Function to be done in one department rather
than another. Mapping these conditions on the Process diagram will make
clear what these are. The technique to use in these circumstances is to:
Stores
Verify Product Verify Stock Status
Status
type B product
Production
Verify Product
type C product
Status
The above diagram removes the ambiguity that existed in the original
diagram as to what happened after ‘Verify Customer Status’ and shows
the circumstances that cause the subsequent Function to be carried out in
a specific department.
The rule here is ‘Do not, under any circumstances, stretch Functions
across swim lanes’.
It might be that the business needs to know the different circumstances in
which Processes are ending in Non-Preferred Outcomes. If this is the
case it might be desirable to have a separate Non-Preferred Outcome to
match each circumstance. In our example three such Non-Preferred
Outcomes would be required:
The term ‘customer’ was omitted prior to “order rejected’ from the new
Non-Preferred Outcome name in order to shorten it, but without loosing
meaning.
Serious CASE tools are ‘repository based’. This means that they have a
database in which you create all the objects that you use on various
models. Because the object is held in the database you have to create it
only once and can use it again and again whenever you need it.
Avoid the use of those applications that are merely diagramming tools and
which do not have a database as they result in a large amount of
replication, are low in productivity and greatly reduce the overall integrity
of models.