process specifications - smart-basmart-ba.com/download/process modelling.pdf · and a lot of...

50
Process Modelling 16/07/2009 Copyright smart-BA 2008 1 Process Specifications …and process modelling

Upload: hakhanh

Post on 07-Apr-2018

217 views

Category:

Documents


4 download

TRANSCRIPT

Process Modelling 16/07/2009

Copyright smart-BA 2008 1

Process Specifications

…and process modelling

Process Modelling 16/07/2009

Copyright smart-BA 2008 2

process specifications are the pivot around which solutions are specified, designed and implemented

IntroductionThe diagram illustrates how process specifications are the pivot around which solutions are specified, designed and implemented.

Processes are the user interface to a solution – as such they are highly visible and a lot of project effort is focussed on process modelling. In fact, there is a perception in some quarters that Business Analysts just draw process models and this is all they do. However, process models (the drawings of processes) are only one facet of the specification of a process. These are the other facets and this modules will look at the reasons why process modelling should be done (the benefits) and the techniques for drawing process modelsmanaging process decompositiondocumenting process execution logicdocumenting process non-functional requirementsmapping processes to functional requirementsmapping processes to data used (but not how to model data requirements – a module in it’s own right!)

Process Modelling 16/07/2009

Copyright smart-BA 2008 3

Worked Example of Process Specifications

…and where it fits in to analysis

Process Modelling 16/07/2009

Copyright smart-BA 2008 4

Where process modelling fits in to Business Analysis

• Models the business requirements for a solution – computerised or not.

• Defines only the process requirements for the solution.

• Is – by definition – the process scope of the solution.

• It should be possible to trace back every component of a process model to the objectives it helps achieve – the following worked example illustrates this.

Process Modelling 16/07/2009

Copyright smart-BA 2008 55

EXAMPLE way of documenting…

Problem / opportunity analysis Driver

Driver:Problems that the business must solveOpportunities the business can exploitRules that the business must conform to…etc

Process Modelling 16/07/2009

Copyright smart-BA 2008 66

Problem / opportunity analysis

SMART objectives

EXAMPLE way of documenting…

Driver

ProjectObjective

Addressed asmeasured by

Objective: The measures of success that will DEFINE if a project has been successful:Increase [measure] to the value of … to a target of …Decrease [measure] to the value of … to a target of …Maintain [measure] at the value of … at a target of …

Process Modelling 16/07/2009

Copyright smart-BA 2008 77

EXAMPLE way of documenting…

Problem / opportunity analysis

SMART objectives

Business…Functional…

Non-functional…

…high level…mid level

Driver

ProjectObjective

ChangeRequirement

Addressed asmeasured by

Delivered by

ISEB makes a distinction between Business and Functional requirements.Business requirements are requirements that must be satisfied – by manual or automated solutions.Functional requirements are requirements that must be satisfied by an automated solution.

In practice it is rarely helpful to distinguish between them. If you find it useful to categorise requirements as Business or Functional, then do so.

Process Modelling 16/07/2009

Copyright smart-BA 2008 88

EXAMPLE way of documenting…

Problem / opportunity analysis

SMART objectives

Business…Functional…

Non-functional…

…high level…mid level

Process modelProcess specification

Non-functional specificationsData model

Attribute specification

…low level

Driver

ProjectObjective

ChangeRequirement

Business Rule

Addressed asmeasured by

Delivered by

Enforces

Process Modelling 16/07/2009

Copyright smart-BA 2008 9

EXAMPLE PROCESS RULES

ConductTraining

Time to startTraining course

ProvideBA support

MonitorAnalysis

quality

BA requestssupport

Analysis Phase Of Projectconcludes

A BA can request one of 4 types of support:1. Phone or email based query about a specific point2. Informal review of a project deliverable3. Formal review of full set of project deliverables4. Facilitated workshop of how to apply analysis to a specific project

1. In the case of phone or email query about a specific pointthe BA poses the question and the training provider will provide guidance for how the technicalities of Business Analysis apply to the problem

Informal reviews of project deliverables will be done by email and will only discuss the technicalities of Business Analysis in relation to the document

Formal reviews will involve the BA sending the full set of Analysis deliverables to the training provider who will critique them from a technical perspective and then deliver the feedback in a one-to-one structured feedback session on the client site

Facilitated workshops will be initiated by the BA - the training provider will supply workshop agenda and prerequisites which the BA will use to organise the workshop. The training provider will then facilitate the workshop for the project.

Process execution rules

Process dependency rules

1. Who is interacts with process2. Where they are3. Availability of process4. Volumetrics5. Performance of process6. Security & Authorisation levels

Non-functional Rules

Process Modelling 16/07/2009

Copyright smart-BA 2008 10

Course

Delegate

AnalysisDeliverable

Attends

Supplies

EXAMPLE DATA RULES

Support Type

Data relationship rules

receives

1. Who is allowed access to the data?2. How long must this data be kept?3. How many instances of it must be supported?

Non-Functional Rules

Attributes1. Name 2. Start Date3. Course duration

Attributes1. Name 2. Contact details

Attributes1. Name 2. Content3. Review feedback

Attributes1. Name 2. Description

Course.Start DateDefinition: the date/time the course is scheduled to startData type: NumericSize: 12Domain: DatetimeData rules: • Format is DD/MM/YYYY HH:MM• When created must be in the future• Cannot be a Saturday or Sunday or Bank Holiday

Data content rules

Process Modelling 16/07/2009

Copyright smart-BA 2008 11

Why do process specifications?

Because process should be the focus of design and development:

– Functional requirements define what capabilities of the solution are required in order to achieve objectives.

– Each functional requirements results in at least 1 process

– Processes specify business rules – aka requirements– Process that don’t manipulate data don’t do anything

Process Modelling 16/07/2009

Copyright smart-BA 2008 12

Drawing process models is only 1 component out of 4 components needed for a full process specification

Process Modelling 16/07/2009

Copyright smart-BA 2008 13

Component 1

Process Dependency Models

- aka process models

- in our case BPMN process models

Process Modelling 16/07/2009

Copyright smart-BA 2008 14

What is BPMN

• Business Process Modelling Notation• An ‘industry standard’ process modelling technique• Developed by Business Process Management Initiative

(www.BPMN.org)• Release 1 - May 2004• Goal – to provide a notation understandable by

business users, business analysts and technical developers

• Is event based process modelling• Contains some powerful constructs

Process Modelling 16/07/2009

Copyright smart-BA 2008 15

Flow Objects

Control convergence or divergence of sequence flow

BPMN seems to interchange use of words like Activity and Process.

Process Modelling 16/07/2009

Copyright smart-BA 2008 16

Identifying Business Processes (known in BPMN as Activities, Sub Processes and Tasks)

Processes should be named verb phrase + noun phrase = do something to something

Top level processes:• Guideline of mutual dependency.• Guideline of initiation and outcome linkage.• Guideline of user concurrency.• Guideline of meaningfulness.

Any level processes and tasks• Guideline of unit of work. • Guideline of conciseness of specification.• Guideline of transaction steps.

Top level processes: Arguably the easiest level to identify as there a good set of guidelines for identifying a process:Guideline of mutual dependency: if you conclude that Process A is always performed when

Process B is performed, and that the only time Process A is performed is when Process B is performed then these processes should be combined in to one process. Example: Whenever the Process Create Customer is performed, the process Check Credit Rating is performed and the only time that Check Credit Rating is performed is when Create Customer is performed. Therefore, combine these processes.

Guideline of initiation and outcome linkage: if you conclude that whenever Process A is invoked under certain circumstances it will always result in initiating Process B (and/or outputs) and when Process A is invoked under different circumstances it always invokes Process C (and/or outputs) then it is likely that Process A has 2 or more processes combined in it and should be split out. Example: When Create Customer is invoked for a normal customer then the business rule is that the next process is always Place Order. When Create Customer is invoked for a customer who is also a company employee, then the business rule is that next process is always Authorise Employee Customer. In this case it is likely that Create Customer has another process in it (Create Employee Customer) that in turn would include Authorise Employee Customer under the rule of mutual dependency.

Guideline of user concurrency: If a process needs 2 or more different Job Roles in order to execute then it is highly likely there are 2 or more different processes in it unless there is a business rule that says this process must be executed by these job roles at the same time. Example: Suppose a company allows its employees to be customers of that company’s services, but to prevent fraud more stringent checks are made for so-called Employee Customers. If the process Authorise Employee Customer needs authorisation by Employee Line Manager role and Sales & Marketing Director role then consider having 2 processes because without doing this once the Employee Line Manager role has authorised the Employee Customer the process will wait until the Sales & Marketing Manager has also authorised it!

Guideline of meaningfulness: If Process A does not produce any meaningful (to the Business)outcome or output then consider merging with the preceding or following process.. Which process to merge with should be assessed using the other guidelines. Example: the process Record Customer Date Of Birth does not produce a meaningful outcome and can be combined under the guideline of mutual dependency with Create Customer

Any level processes and tasksGuideline of unit of work: if it is conceivable that the process could or should be halted so that other

processes can be started, then split the process. Example: The process Create Customer might contain the logic to record marketing preferences. This information is not required to Place Order so consider splitting Create Customer in to 2 processes: Create Customer and Record Marketing Preferences (which could be done at a more convenient point).

Guideline of conciseness of specification: if it is not possible to specify the execution logic on one page then consider splitting the process. This guideline is weaker than most.

Guideline of transaction steps: if a process performs only a few or one action then consider merging with other processes using the other guidelines. Example: Record Customer First Name and Record Customer Surname are probably part of the same process!

Process Modelling 16/07/2009

Copyright smart-BA 2008 17

Process Decomposition

A process model does not have to be decomposed.

Note that each level of these processes/tasks must ‘balance’ with the level it is a decomposition of: if a process has one input and that process is decomposed, then the input must also be input to at least one sub-process/task on the decomposition and there can be no other inputs although the single input can trigger more than one sub-process/task.

ActivitiesTop level

Sub-ProcessIntermediate levels

TaskBottom or atomic level

+ +

+ + + +

Process Modelling 16/07/2009

Copyright smart-BA 2008 18

Connecting Objects

Sequence Flow withcondition

Sequence Flow

Message Flow(used to show flow from ‘external’ pools)

A Flow is a graphical line connecting two objects in a BPD. There are two types of Flow: Sequence Flow and Message Flow, each with their own line style. Flow is also used in a generic sense (and lowercase) to describe how Tokens will traverse Sequence Flow from the Start Event to an End Event.

Sequence flow: Flow that proceeds, unrestricted, from one Flow Object to another, via a Sequence Flow link, without any dependencies on another flow or any conditional expressions. Typically, this is seen as a Sequence flow between two activities, without a conditional indicator (mini-diamond) or any intervening Gateway.

Sequence flow with condition: Flow that proceeds from one Flow Object to another, via a Sequence Flow link, but is subject to either conditions or dependencies from other flow as defined by a Gateway. Typically, this is seen as a Sequence flow between two activities, with a conditional indicator (mini-diamond) or a Sequence Flow connected to a Gateway.

Message flow: A Message Flow is a dashed line that is used to show the flow of messages between two entities that are prepared to send and receive them. In BPMN, two separate Pools in the Diagram will represent the two entities.

Process Modelling 16/07/2009

Copyright smart-BA 2008 19

Sequence Flow

Having made a booking, confirmation is sent

Determine the customer status. If the customer is Good then Provide Loan. If the customer is Bad then Reject Loan

Make Booking Send Confirmation

Check Customer Status

Provide Loan

Reject Loan

Good

Bad

Process Modelling 16/07/2009

Copyright smart-BA 2008 20

Basic Events

Indicates where a process startsNote – there may be multiple start events for a given process level

Occur between start and end events but will not directly start or terminate the process

Indicates where the process will endNote – there may be multiple end events for a given process level

Start Event

Intermediate Event

End Event

Process Modelling 16/07/2009

Copyright smart-BA 2008 21

Event Symbols

Message Link

Multiple Error Compensation

Time Rule Cancel

X

Note: events do not have to have a symbol within them

Message: data that arrives to or is produced by the solution.Link: A Link is a mechanism for connecting two sections of a Process. Link Events can be used to create looping situations or to avoid long Sequence Flow lines. Link Event uses are limited to a single Process level (i.e., they cannot link a parent Process with a Sub-Process). Paired Intermediate Events can also be used as “Off-Page Connectors” for printing a Process across multiple pages. They can also be used as generic “Go To” objects within the Process level. There can be multiple Source Link Events, but there can only be one Target Link Event.Multiple: any combination of the types of event.Error: an error has occurred and this symbol will be in an event physically on the border of the process that can generate it. Compensation: undoing activities that have taken place.Time: A specific time-date or a specific cycle (e.g., every Monday at 9am) can be set. Rule: a Condition such as “S&P 500 changes by more than 10% since opening,”or “Temperature above 300C” become true. Cancel: used within a Transaction Sub-Process to cancel their execution

Process Modelling 16/07/2009

Copyright smart-BA 2008 22

Start Events

A Start Event indicates where a particular Process will start. In terms of Sequence Flow, the Start Event starts the flow of the Process, and thus, will not have any incoming Sequence Flow. A Start Event can have a Trigger that indicates how the Process starts: Message, Timer, Rule, Link or multiple (any combination). The Start Event shares the same basic shape of the Intermediate Event and End Event, a circle, but is drawn with a single thin line.

Process Modelling 16/07/2009

Copyright smart-BA 2008 23

Intermediate Events

An Intermediate Event is an event that occurs after a Process has been started. It will affect the flow of the process, but will not start or (directly) terminate the process. An Intermediate Event will show where messages or delays are expected within the Process, disrupt the Normal Flow through exception handling, or show the extra flow required for compensating a transaction. The Intermediate Event shares the same basic shape of the Start Event and End Event, a circle, but is drawn with a thin double line.

Process Modelling 16/07/2009

Copyright smart-BA 2008 24

End events

As the name implies, the End Event indicates where a process will end. In terms of Sequence Flow, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flow. An End Event can have a specific Result that will appear as a marker within the center of the End Event shape. End Event Results are Message and Link. The End Event shares the same basic shape of the Start Event and Intermediate Event, a circle, but is drawn with a thick single line

Process Modelling 16/07/2009

Copyright smart-BA 2008 25

Message Flow

RetrieveCreditHistory

RetrieveCCJ Info

Ban

k

Message1Message2

External ‘Pool’

A Message Flow is a dashed line that is used to show the flow ofmessages between two entities that are prepared to send and receive them. In BPMN, two separate Pools in the Diagram will represent the two entities.

Process Modelling 16/07/2009

Copyright smart-BA 2008 26

Gateway Types

+

X

And - Parallel fork/join

OR - Inclusive Decision/Merge

XOR - ExclusiveDecision/Merge

means the same as

These decisions are based on the evaluation of a piece of data within the processGateways control convergence OR divergence of process flows

Process Modelling 16/07/2009

Copyright smart-BA 2008 27

Exclusive Or

Check Availability

Offer Alternative Dates

Book SeatYes

No

Seats Available?

Only one route may be taken

Process Modelling 16/07/2009

Copyright smart-BA 2008 28

Having performed A, either B, C or both B and C may be performed

Inclusive Or

A O

C

BCondition 1

Condition 2

one or more routes may be taken

Process Modelling 16/07/2009

Copyright smart-BA 2008 29

Having performed A, both B and C are performed

And

Can also be shown like this..

Process Modelling 16/07/2009

Copyright smart-BA 2008 30

C can only start when either A or B have finished

Convergence

C can only start when both A and B have finished

B

X C

A

B

+ C

A

Process Modelling 16/07/2009

Copyright smart-BA 2008 31

Process Break

An intermediate message can be used to show a process break.

Having issued a Request for Information, the process waits untila response is received.

Assumption: A response is always received!?

Send Request for Info Record Response

Response Received

Process Modelling 16/07/2009

Copyright smart-BA 2008 32

Event Based Gateway

After the sending of the pre-vetted applications, the process is re-started by either the application being received or the customer making contact to decline the offer. If none of these events happen within 7 days then the application lapses.

Send Pre-VettedApplication Issue Loan

Lapse Application

7 Days

Application Received

Cancel Application

Decline Received

An “exclusive or” decision made on the basis of whichever associated intermediate event occurs first.

There is no symbol for inclusive OR presumably because it cannothappen?

Process Modelling 16/07/2009

Copyright smart-BA 2008 33

Iteration Serial loop – process is performed zero, one or many times (one after the other)

Call Customer Record Outcome

Repeat for Each Overdue Invoice

Daily at 4:00 pm

Process Modelling 16/07/2009

Copyright smart-BA 2008 34

Time Delay

The CCA agreement is sent and the customer history is updated. 7 days after the sending of the CCA agreement the payment is made

Send CCA Agreement

Make Payment

Update Customer History

7 Days

Process Modelling 16/07/2009

Copyright smart-BA 2008 35

Scenario• Guy’s Great Coffee House is a Starbucks styled coffee

house but with waiters who take orders for those who don’t want to queue at the counter.

• The process a waiter is meant to follow is– Wait until they observe a customer who appears to want

serving.– Take the customer order.– Give the order to counter staff who make the coffee. – Collect the order from the counter staff and give to the

customer.– When any customer leaves they pay at the counter, and the

waiter should clear and clean the table.• There are variations at almost every stage: the

customer can change or cancel their order for example.

Process Modelling 16/07/2009

Copyright smart-BA 2008 36

Exercise 1

• Draw a process model for processes the waiter should follow.

• Make sure you identify all the events in scope.• Make sure you name the process steps as

Verb+Noun.• The coffee shop owner is available to answer

any scope or requirements questions.• If you need to make any assumptions

document them.• Time: 30 minutes.• Deliverable: flipchart model.

Process Modelling 16/07/2009

Copyright smart-BA 2008 37

Component 2

Process Execution Specification

Process Modelling 16/07/2009

Copyright smart-BA 2008 38

Process Definition• Processes and sub-processes (by BPMN definition) are

not the bottom or atomic layer in a process model.• Definition of the process and sub-process is therefore

going to be a summary definition of the sub-processes and tasks within them.

• It is not feasible (or desirable) to specify precise execution logic for a process or sub-process as it would be impossible to ascertain which task each statement belonged to.

• What is useful to define at that process level is– Description of the process at the level shown on the

diagram.– Task Metrics provided that they apply only to the process at

the level it is shown on the diagram.

Process Modelling 16/07/2009

Copyright smart-BA 2008 39

Task Definition

• Tasks (by BPMN definition) are the bottom or atomic layer of a process model.

• Therefore it will be necessary to specify – a description of the task– the precise logic that must be executed by the task. – In addition, task metrics should be specified where

not present in the processes that the task is a part of.

Process Modelling 16/07/2009

Copyright smart-BA 2008 40

Process Execution Logic

Not a description, but definitive statement.Execution Logic: there are a variety of ways of doing this ranging from

– natural English to…– highly specialised and formalised notations such as

Zed.

The most common methods that strike a balance between these two extremes are structured English and pseudo-code.

Description of a process/task: a natural English description of what the process is for and an overview of how it does it.Example description for Take Order process:“The process Take Order captures the details of a customer instruction for a sale.First the customer is found by using certain search criteria (if not found a customer can be created) and then the product selected and a sale price is agreed and recorded.”

Process Modelling 16/07/2009

Copyright smart-BA 2008 41

Structured English• English used to describe the bulk of the specification.• The reserved words and phrases typically include

– Create – Read– Update– Delete– For each … end for each– If … else … end-if– Go to– Display– Input– Prompt

• Example1. Prompt the user to input a Customer Name2. Read Customers3. For each Customer where the Customer Name = input Customer Name4. Display Customer Name5. Customer Address6. Customer Number7. End for each8. If no Customers were found9. Then invoke the task Create Customer10. End if

The reserved words/phrases that need to be agreed upon by all who are going to create and use the logic.

Process Modelling 16/07/2009

Copyright smart-BA 2008 42

Pseudo Code• Pseudo-code takes this one stage further and represents the logic in the

programming style of the language to be used to code the solution. As such it will where feasible use the syntax of that language.

• Example:1. Procedure Find_Customer2. Declare Input_Customer_Name Char(50) init(‘’)3. Declare Found Boolean init False4. Display “Please enter the customer name: ” & Input_Customer_Name5. Do while ¬EOF Customer and ¬Found6. Read Customer7. If Customer.Name = Input_Customer_Name then8. Display Customer_Name9. Display Customer_Address10. Display Customer_Number11. Found=True12. End-if13.End Do-while14.If ¬Found then go to procedure Create_Customer15.End-if

In either case (structured English or pseudo code) or any other technique used, it is the business rules that must be defined and nothing is defined that is only to do with making code work. Example, setting pointers or maintaining referential integrity in a relational database.

Process Modelling 16/07/2009

Copyright smart-BA 2008 43

Exercise 2

• Use 1 or 2 process steps from Exercise 1 to specify process execution logic in Structured English.

• The coffee shop owner is available to answer any scope or requirements questions.

• If you need to make any assumptions document them.

• Time: 30 minutes.• Deliverable: flipchart model.

Process Modelling 16/07/2009

Copyright smart-BA 2008 44

Component 3

Process Non-Functional Rules

Process Modelling 16/07/2009

Copyright smart-BA 2008 45

We only know what a non-functional isn’t…

• The usual ones are– Who can use it (names, job roles, system roles, etc). Example: Sales Order Clerk– How many users can use it concurrently. Example: up to 100 concurrent users.– Where (physically) it can be run. Example: The Call Centre at No 1 The High

Street, Anytown.– When it is available for use. Example: 08:00 to 18:00 Monday to Saturday

excluding Bank Holidays.– How often it is run. Example: up to 1,500 transactions per hour.– How quickly it should execute. Example: it should take no longer than 5 seconds

to find a customer.– How reliable it should be. Example: no more than 2 un-planned system

unavailable events per year.– Any usability requirements. Example: allow the order in which data items are

supplied to be customised.– Etc!

• …and anything else which is not a functional requirement!

Every process/task will have a set of non-functional requirements defined as well.Non-functional requirements: There is no hard and fast definition of a non-functional requirement. In fact, even it’s name only states what it is not rather than what it is.Every project has non-functional requirements and they can relate to the whole solution (i.e. all processes and data within the solution) and/or to processes (i.e. all sub-processes and tasks within the process), tasks or data.

Non-functional requirements will need to be specified for all tasks and processes either directly or indirectly. Processes: Non-functional requirements that must apply to all the sub-processes and tasks contained within a process can be specified at the process level.Task: Non-functional requirements that do not apply to all tasks at that level must be specified for each task they do apply to.

Process Modelling 16/07/2009

Copyright smart-BA 2008 46

Exercise 3

• For the process step(s) you specified in Exercise 2 document the non-functional requirements.

• The coffee shop owner is available to answer any scope or requirements questions.

• If you need to make any assumptions document them.

• Estimate values if you don’t know them, but state you have done that.

• Time: 15 minutes.• Deliverable: flipchart model.

Process Modelling 16/07/2009

Copyright smart-BA 2008 47

Component 4

Process Data Requirements

Process Modelling 16/07/2009

Copyright smart-BA 2008 48

Data that processes need in order to be able to execute

• Each task will CRUD (create, read, update, delete) data entities.

• A CRUD matrix specifies which data entities tasks create, read, update and/or delete. Typically a task will CRUD many data entities. – For example, “Record Sale” may read the Product entity,

create the Sale entity and update the Customer entity.• All entities should as a minimum be created and read

by one or more tasks.• How data entities relate to each other and the other

business rules defined for entities is not covered within this module.

Process Modelling 16/07/2009

Copyright smart-BA 2008 49

Exercise 4

• Define the data CRUD for the process step(s) specified in Exercise 2 for the data entities Waiter, Table, Order, Counter Staff and any others you think relevant.

• The coffee shop owner is available to answer any scope or requirements questions.

• If you need to make any assumptions document them.

• Time: 15 minutes.• Deliverable: flipchart model.

Process Modelling 16/07/2009

Copyright smart-BA 2008 50

End