Process Specifications. and process modelling

Size: px
Start display at page:

Download "Process Specifications. and process modelling"

Transcription

1 Process Specifications and process modelling Copyright smart-ba

2 process specifications are the pivot around which solutions are specified, designed and implemented Introduction The 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 models managing process decomposition documenting process execution logic documenting process non-functional requirements mapping processes to functional requirements mapping processes to data used (but not how to model data requirements a module in it s own right!) Copyright smart-ba

3 Worked Example of Process Specifications and where it fits in to analysis Copyright smart-ba

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. Copyright smart-ba

5 EXAMPLE way of documenting Problem / opportunity analysis Driver Driver: Problems that the business must solve Opportunities the business can exploit Rules that the business must conform to etc Copyright smart-ba

6 EXAMPLE way of documenting Problem / opportunity analysis Driver Addressed as measured by SMART objectives Project Objective 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 Copyright smart-ba

7 EXAMPLE way of documenting Problem / opportunity analysis Driver Addressed as measured by SMART objectives Project Objective Delivered by Business Functional Non-functional Change Requirement high level mid level 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. Copyright smart-ba

8 EXAMPLE way of documenting Problem / opportunity analysis Driver Addressed as measured by SMART objectives Project Objective Delivered by Business Functional Non-functional Change Requirement high level mid level Process model Process specification Non-functional specifications Data model Attribute specification Enforces Business Rule low level Copyright smart-ba

9 EXAMPLE PROCESS RULES A BA can request one of 4 types of support: 1. Phone or based query about a specific point 2. Informal review of a project deliverable 3. Formal review of full set of project deliverables 4. Facilitated workshop of how to apply analysis to a specific project Process execution rules 1. In the case of phone or query about a specific point the 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 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. Time to start Training course Conduct Training BA requests support Analysis Phase Of Project concludes Provide BA support Monitor Analysis quality 1. Who is interacts with process 2. Where they are 3. Availability of process 4. Volumetrics 5. Performance of process 6. Security & Authorisation levels Non-functional Rules Process dependency rules Copyright smart-ba

10 EXAMPLE DATA RULES Non-Functional Rules 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? Course Attributes 1. Name 2. Start Date 3. Course duration Data content rules Course.Start Date Definition: the date/time the course is scheduled to start Data type: Numeric Size: 12 Domain: Datetime Data rules: Format is DD/MM/YYYY HH:MM When created must be in the future Cannot be a Saturday or Sunday or Bank Holiday Attends Attributes 1. Name 2. Contact details Delegate receives Support Type Attributes 1. Name 2. Description Supplies Analysis Deliverable Attributes 1. Name 2. Content 3. Review feedback Data relationship rules Copyright smart-ba

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 Copyright smart-ba

12 Drawing process models is only 1 component out of 4 components needed for a full process specification Copyright smart-ba

13 Component 1 Process Dependency Models -aka process models -in our case BPMN process models Copyright smart-ba

14 What is BPMN Business Process Modelling Notation An industry standard process modelling technique Developed by Business Process Management Initiative ( 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 Copyright smart-ba

15 Flow Objects Control convergence or divergence of sequence flow BPMN seems to interchange use of words like Activity and Process. Copyright smart-ba

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 tasks Guideline 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! Copyright smart-ba

17 Process Decomposition Activities Top level + + Sub-Process Intermediate levels Task Bottom or atomic level 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 subprocess/task. Copyright smart-ba

18 Connecting Objects Sequence Flow Message Flow (used to show flow from external pools) Sequence Flow with condition 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 (minidiamond) 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. Copyright smart-ba

19 Sequence Flow Make Booking Send Confirmation Having made a booking, confirmation is sent Check Customer Status Good Bad Provide Loan Reject Loan Determine the customer status. If the customer is Good then Provide Loan. If the customer is Bad then Reject Loan Copyright smart-ba

20 Basic Events Start Event Intermediate Event End Event Indicates where a process starts Note 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 end Note there may be multiple end events for a given process level Copyright smart-ba

21 Event Symbols Message Link Multiple Error Compensation X Time Rule Cancel 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 Copyright smart-ba

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. Copyright smart-ba

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. Copyright smart-ba

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 Copyright smart-ba

25 Message Flow External Pool Bank Message1 Message2 Retrieve CCJ Info Retrieve Credit History 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. Copyright smart-ba

26 Gateway Types + And - Parallel fork/join OR - Inclusive Decision/ Merge X XOR - Exclusive Decision/Merge means the same as These decisions are based on the evaluation of a piece of data within the process Gateways control convergence OR divergence of process flows Copyright smart-ba

27 Exclusive Or Yes Book Seat Seats Available? Check Availability No Offer Alternative Dates Only one route may be taken Copyright smart-ba

28 Inclusive Or A O Condition 1 Condition 2 B C Having performed A, either B, C or both B and C may be performed one or more routes may be taken Copyright smart-ba

29 And Having performed A, both B and C are performed Can also be shown like this.. Copyright smart-ba

30 Convergence A B X C C can only start when either A or B have finished A B + C C can only start when both A and B have finished Copyright smart-ba

31 Process Break Response Received Send Request for Info Record Response An intermediate message can be used to show a process break. Having issued a Request for Information, the process waits until a response is received. Assumption: A response is always received!? Copyright smart-ba

32 Event Based Gateway Decline Received Cancel Application Application Received Send Pre-Vetted Application Issue Loan 7 Days Lapse Application 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. 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 cannot happen? Copyright smart-ba

33 Iteration Serial loop process is performed zero, one or many times (one after the other) Daily at 4:00 pm Repeat for Each Overdue Invoice Call Customer Record Outcome Copyright smart-ba

34 Time Delay Send CCA Agreement Update Customer History 7 Days Make Payment The CCA agreement is sent and the customer history is updated. 7 days after the sending of the CCA agreement the payment is made Copyright smart-ba

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. Copyright smart-ba

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. Copyright smart-ba

37 Component 2 Process Execution Specification Copyright smart-ba

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. Copyright smart-ba

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. Copyright smart-ba

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. Copyright smart-ba

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 Example 1. Prompt the user to input a Customer Name 2. Read Customers 3. For each Customer where the Customer Name = input Customer Name 4. Display Customer Name 5. Customer Address 6. Customer Number 7. End for each 8. If no Customers were found 9. Then invoke the task Create Customer 10. End if The reserved words/phrases that need to be agreed upon by all who are going to create and use the logic. Copyright smart-ba

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_Customer 2. Declare Input_Customer_Name Char(50) init( ) 3. Declare Found Boolean init False 4. Display Please enter the customer name: & Input_Customer_Name 5. Do while EOF Customer and Found 6. Read Customer 7. If Customer.Name = Input_Customer_Name then 8. Display Customer_Name 9. Display Customer_Address 10. Display Customer_Number 11. Found=True 12. End-if 13.End Do-while 14. If Found then go to procedure Create_Customer 15.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. Copyright smart-ba

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. Copyright smart-ba

44 Component 3 Process Non-Functional Rules Copyright smart-ba

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 nonfunctional 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. Copyright smart-ba

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. Copyright smart-ba

47 Component 4 Process Data Requirements Copyright smart-ba

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. Copyright smart-ba

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. Copyright smart-ba

50 End Copyright smart-ba