process specifications - smart-basmart-ba.com/download/process modelling.pdf · and a lot of...
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 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 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 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.