Business Process Modeling
Business Process Modeling
This paper, based on a webinar by BPM analyst and blogger Sandy Kemsley, provides an overview of business process design. Topics include:
BPM standards BPM and architecture BPM design patterns and principles Integrating business intelligence and BPM Integrating business rules and BPM
TABLE OF CONTENTS
1 BPM StandardS .......................................................................3 2 WhatS in Your ProceSS .......................................................3 3 KicKing it off ...........................................................................3 4 tYPeS of StePS/taSKS .............................................................5 5 other conSiderationS .........................................................6 6 BPM & Soa ..................................................................................7 7 BPM & Soa together ..............................................................8 8 Soa in ProceSS Modeling ...................................................9 9 SiMulation & oPtiMization .................................................9 10 ProceSS Modeling StandardS ........................................ 11 11 graPhical notation Standard ....................................... 11 12 BPMn floW oBjectS .............................................................12 13 BPMn SWiMlaneS ...................................................................14 14 BPMn artifactS .....................................................................14 15 BPMn exaMPle excePtion handling ...........................15 16 BPMn exaMPle tranSactionS ........................................15 17 BPMn exaMPle fundS tranSfer .....................................16 18 Modeling for roi ................................................................17 19 areaS of ProceSS innovation .........................................17 20 roi .............................................................................................19 21 changing joB roleS .......................................................... 22 22 SuMMarY ................................................................................ 23 23 aBout tiBco .......................................................................... 24
About the Presenter /Author Sandy Kemsley is an independent BPM architect and blogger specializing in BPM design, enterprise architecture, and business intelligence. In addition to her technical background, she has significant knowledge about business operations and is often involved in BPM projects from business requirements and analysis through technology design and deployment. During her career of more than twenty years, she has started and run successful product and service companies, including a desktop workflow and document management product company and a 40-person services firm specializing in BPM and e-Commerce. She worked for FileNet as Director of eBusiness Evangelism and was a featured speaker on BPM and its impact on business at conferences and customer sites in fourteen countries during that time. Since 2001, Sandy has returned to private consulting practice as a BPM architect, performing engagements for financial services and insurance organizations across North America. She also writes the popular Column 2 blog.
1. BPM Standards
lets start out by taking a look at some BPM standards. BPM NOTATION STANDARDS in the last webinar we looked at BPMn, the notation for standard BPM. the focus here is to have a stand
3. Kicking It Off
there are various ways a process might get kicked off, including: human intervention scanned document external event invoked as web service
HUMAN INTERVENTION An example of human intervention is a person fills out a form about a problem theyre having and clicks submit. the process is kicked off by a persons explicit action, but the person who causes the process to start may not be in the BPM environment. they could be in a portal environment or some other environment that hides the nature of the BPM environment from them. SCANNED DOCUMENT another common way to initiate a process is to have a document arrive in a content management system, and the document requires some sort of process in order to be executed. there are still a lot of processes that are driven by the arrival and scanning of paper documents, but this could be any kind of content thats added to a content repository. it could be a Word document; it could be an email. Whatever it is, you have a piece of content, you add it to a content repository (for records management or other retention purposes), and theres typically some sort of process that needs to happen around that document. it could be to gather information from that document, such as keying in transactional data from a scanned application form. it could be a review and approval cycle for an electronic document like a press release. in both cases, the creating and adding of that content to a content repository kicks off a process. EXTERNAL EVENT We can also have external events trigger processes, typically a transaction or an alert from another system. one example of this is a mainframe insurance underwriting application, where it does the underwriting automatically in the mainframe system, but if something goes wrong, and a person needs to look at a particular instance of a process, the mainframe process triggers a process in a BPM system to have someone take a look and resolve the problem. INVOKED AS WEB SERVICE although external events will often trigger a process by invoking BPM as a web service, i include the invoking of the web service as another way to kick off a process to cover any case where you have a separate application or another process, possibly in the same BPM system, possibly even in another BPM system, that calls a process through a web service interface. all the mainstream BPM vendors allow any process thats created in their system to be exposed to the web service, so if you want to call the process from your crM application or any other application, its pretty straightforward to do that. those are the main ways in which a process might get initiated, and thats one of the first things you need to look at when youre modeling a process: how do you get your process kicked off?
4. Types of Steps/Tasks
once your process gets kicked off, you have a set of steps in the process all tied together by your process map. Youll likely have some combination of humanfacing and system steps. You might have more human-facing steps if this is a more traditional workflow-type application. You might have more system-facing steps if you just have human-facing steps to deal with data repair or errors that need to be resolved. But theres likely going to be some combination of human and systemfacing steps. When youre modeling the process, you need to determine what the steps are and what sort of participation you want from the people and the systems at any point in the process. for human-facing steps, you need to consider what the person is doing at that step, since thats going to determine what tools they need to have and even what type of user interface thats required. With some steps you might have heads-down people processing transactions, where theyre in the BPM environment all day every day, and you dont want distracting bells and whistles. You just want very efficient ways for them to accomplish their tasks as quickly as possible. on the other hand, when you have occasional participants, who only review a particular process once in a while, they need more support. they probably need some sort of notification, usually by email, to say that theyve got something in BPM, since theyre not in there all the time. they probably also need a user interface where all of the functions are pretty obvious, because they dont use the system every day and might forget where things are and how theyre done. another thing to look at for human-facing steps is that you might have people collaborating within processes. if so, theres a whole set of additional functionality they might require. there might be shared whiteboarding or discussion forums or other things you dont need with more of a transactional process. So understanding what people are doing at each step is going to help in terms of modeling and also in terms of driving what design issues youre going to have to look at, which is covered in another webinar/paper in this series. for system-facing steps, the primary method of integration these days is to use web services, and all of the mainstream BPM systems have a capability to invoke a web service at any step in a process. that lets you call functions both from inside and outside your organization, at any step in the process, without writing any code in most cases. Were going to come back to this later in the paper when we talk about how BPM and SOA fit together.
Whether or not its done with a web service wrapper, you probably also need to integrate some calls to legacy systems. this could be mainframe applications, custom applications, erP applications, whatever you might have in your environment that you need to run your business and youd like to tie into them from your processes. When youre modeling things, you need to consider at what point do you need to go out to the legacy environment and either retrieve data such as finding a customers history based on their account number, or to update data from the process back into the legacy system so that somebody doesnt have to update data in both places. this is one of the places where youre going to try to reduce the amount of re-keying of data by doing some amount of integration with your legacy system. the third main type of systems integration, and this is probably done with web services but not necessarily, is the integration of a content repository. i mentioned how the addition of a document to a content management system could kick off a process, and its often necessary to go back to the repository to extract or update information at later points in the process.
5. Other Considerations
there are many other considerations when youre modeling a process. for example, you might have external participants, so there will be steps that get executed outside the firewall. In addition to design issues whether your BPM system can allow this to happen or whether you need to build some sort of external interface for it you need to look at it from a modeling standpoint. at what point do you have to make a call to an external process? do you have to have a human-facing step done by somebody whos outside the organization? What might that look like? do they participate directly in the BPM process or is there an alert thats sent to them? is there a step where theyre sent an email and they have to respond back and somebody has to key their information in? there are many different ways you can handle external participants, but you want to make sure youve captured any points in the process where you need to go outside the boundaries of your organization. it is important to consider what you want to monitor in your processes and what you want to collect data on for purposes of reporting or analytics. You can only report on data youve collected. i think thats pretty obvious. So you need to make sure in your process modeling that youre collecting appropriate data and that youre seeing the right things to be able to monitor and report on it later. for example, if youre dealing with transactional data and one of the things you need to report on is the number of transactions that are over a certain dollar amount,
then at some point in the BPM process somebody has to key in what that dollar amount is or that data has to come from somewhere. So you have to make sure the data you need for both monitoring and analytics is in the BPM system somewhere. You also want to look at how often things change in your process. do you have to change the process itself very often? do you have to change business rules about what happens at a specific step? Do you have a high staff turnover so that you have different skill levels coming in? and how does that impact what the process will look like? in the case of frequently changing processes, you want to make sure the modeling environment will support frequent changes that youll be able to make the changes and have them flow into an execution environment. In the case of changing business rules, you might start thinking about plugging in a business rules engine at certain points in your process. thats something you can identify at the modeling phase where a business rules engine might be appropriate to put into your system.
information in some way, and returns some results about it or possibly updates both of those systems. Service c is a wrapper around the erP system, where Services d and e could be functionality that was developed wholly in a web services environment. What happens in BPM is a process comes along and we have Process Step 1 that says i need this information from the legacy system in the database. Process Step 1 calls Service B, because that returns the information we need. it calls Service B using the standard web services interface, which goes out, gets the information, and passes it back to the process. the advantage of this is that the BPM process doesnt have to know about the legacy system. it doesnt have to know about the database. it only needs to know about web services, which is something thats baked into all the BPM systems now. So you can do all the stuff above the line with zero code. obviously, theres code written below the line to create those services. going on through the process, Process Step 2 might be a human-facing step somebody does something with that information. Process Step 3 calls Service c, which calls down to the erP system. then Process Step 4 calls one of their web services, Service e. So this is a high-level view of how BPM and SOA fit together.
one of the problems people have with a lot of their Soa projects right now is that its really hard to define a return on investment for SOA. Well, BPM is the thing that creates a return on investment for Soa. Youre writing all those services. Youre creating that whole service layer. You need to have applications like BPM that consume those services. thats why people refer to BPM as the killer app for Soa. its the thing that really makes Soa worthwhile. Soa allows you to design and build these services, but who cares if you dont have something to consume them? You could do BPM without Soa, but thered be so much custom coding. thats what we used to have to do for systems integration. Putting the two together makes both of them much more valuable.
10
going to come from how long is it going to take to do things compared to the old way of doing things? Many BPM vendors provide simulation tools as part of the package or they will integrate with a third party simulation tool. in a simulation environment, youre going to identify your key performance indicators (KPis). its usually around reducing people, reducing costs, and so on. then you try to estimate some parameters how often does work come into the system, how often do your processes get initiated, how long does it take to do each step, how much does it cost to do each step, and so on. Based on those parameters, you can run different scenarios. What if we had this much extra come in or what if we changed the process to do these two things in parallel? You can run different scenarios and compare them. SIMULATION EXAMPLE figure 2 is a sample application i whipped up in tiBco Business Studio. Simulations look a little different in every vendors environment, but youll get some information like this where you can see how much is going through at any given time and at the end youll get a report to say heres where the bottlenecks are, heres how long things spent waiting at each step to be executed, heres how long your end-to-end cycle times were. Whatever your KPis are, those are the things that show up in your simulation report.
11
12
13
BPMN CONNECTING OBJECTS there are three types of connecting objects within BPMn. Sequence Flow: The sequence flow object is the one thats used most often. it shows the order in which activities will be performed. if you think of a flowchart, the sequence flow connects objects to create the basic flowchart. Message Flow: The message flow shows messages between participating layers in the process. for example, you might have different organizations participating in the process. im going to talk about swimlanes later in this paper, but the different organizations could be represented by different swimlanes in a pool. if the process goes from one organization to another, its not shown as a sequence flow. Its shown as a message flow, because its a more accurate representation of how information moves between two organizations. Association: Associations are used to link non-flow objects into flow objects, usually to provide additional documentation or information about them.
14
15
16
17
18
lets look at how each of these three areas can impact process modeling. IMPROVE EFFICIENCIES Automational is about improving efficiencies. This is standard business process reengineering. Youre going to automate whatever work steps you can, integrate data between systems, provide monitoring so you can keep an eye on processes as they go along, and gather statistics you can use for analysis. Being able to automate manual work is a place where youll see a huge improvement in efficiency. How can you take advantage of a BPM system to improve efficiencies in your organization? those are some of the things you want to be thinking about when youre modeling processes. CUT OUT THE MIDDLE MAN how can you cut out the middle man? can you provide some sort of self-service so a customer can come to your website and initiate a process instead of calling or sending a document that somebody keys in? can you provide visibility to the customer? for example, if theyre applying for insurance coverage, can you provide them with visibility into the progress of their application on the website instead of having them call in and take up the time of customer service rep to find out if a document has been received? there are ways you can disintermediate inside and outside your organization, usually by allowing a customer or a business partner to work directly with your system rather than having them go through someone else to access information or to kick off a process. LOCATION, LOCATION, LOCATION Once you are using an automated system to route information, you have flexibility about where work occurs. You can look at routing information to different business units when overloads happen. You can identify redundant processes going on in different business units and look at bringing them together into a single process. You can look at doing remote work. can you reduce capital costs by having people do the same work from their homes instead of sitting in the office? These are the types of things you want to look at when youre modeling. does the work require interaction with a lot of other people? is it heads-down transactional type of work? Can it be done remotely at home, in another office, or by outsourcing parts of the business process?
19
20. ROI
What were looking at from an roi standpoint is reducing costs and increasing competitive advantage. REDUCING COSTS there are all sorts of things you can look at to reduce cost. You can reduce manual labor, which saves time and can also reduce error rates, especially if youre exchanging data between systems instead of having somebody key the information to two systems. You can let customers do self service, so youre not having an internal customer service rep managing calls. there are lots of different places where you can look at reducing costs, and you want to be focused on that when youre doing the process modeling -- looking at ways to improve efficiency and reduce the costs within your processes. INCREASING COMPETITIVE ADVANTAGE the second side of the roi equation is around increasing competitive advantage. this is a little fuzzier and harder to justify from an roi standpoint, but it usually involves things like reducing time to market. if youre in product development, for example, and youre in a very competitive market, having a new product come out six months ahead of your competitor can provide you with a huge competitive advantage. Being able to make your processes more efficient internally can reduce your end-to-end cycle time and thereby reduce your time to market. Its difficult to quantify the savings or the new revenue youll generate, but that is one of the areas you want to look at in terms of how you can get roi out of implementing BPM. You can also look at the cycle time associated with customer-facing things. if you can process a particular transaction faster, your customers are probably going to be happier with you. if you can provide better customer service by providing access to other channels, such as the web channel, or enabling self-service that will be seen as an improvement in customer service by some people. You can also increase capacity. In other words, you can make things more efficient not that youre going to get rid of people, but youre going to be able to do more with the same number of people. in many growing environments, youre trying to do more with the same number of people or more with less people. this is a key thing in terms of competitive advantage to be able to drive your pricing down.
20
there is also roi associated with better decision making. if you can get access to information about whats going on in your business processes, you can make better decisions faster about how your business processes can affect your overall business. You always want to keep roi in mind when youre modeling business processes. You want to look at how you can increase efficiency but also how you can create competitive advantage. CALCULATING ROI calculating roi can be the tough part, so you need to baseline your current processes; you need to say this is how long it takes us to do things now. Youre going to do a model and some simulation of your process as you want it to be, then start to look at what kind of metrics you want to have. You need to have the difference between the as-is and the to-be, and then find out what you want to base it on. there are all kinds of metrics you could focus on. in a transaction-processing environment, its usually about end-to-end process time how much time is spent waiting in each step, and so on. if youre in a call center, its things like callback rate, the length of time somebody waits in a queue, and so on. there are all kinds of metrics that might be specific to your industry or the type of application youre doing. once youve selected your metrics, you select your roi calculation model, which can be things like internal rate of return or whatever is standard for your organization. You probably want to talk to your financial people about that, and then do a best case and a worst case. its always a good idea to start with the worst case. it might be too pessimistic, but at least youll be aware of the maximum time you need for break even. Youre only going to use the hard cost saving metrics things that can be quantified accurately, with a small degree of error, using any standard roi rules of thumb for your industry where you know that if you can make the process run this much faster its going to require this many less people. then do a best case. Somebody will always want to see what the best case scenario is, so go ahead and look at all the less tangible things like increased revenue from a reduced time to market or increased revenue as a result of increased capacity or customer retention if you increase customer satisfaction.
21
all of these can go into your best case scenario. although these might be overly optimistic, at least theyll show the other end of the spectrum. Youve shown the best case and the worst case and somewhere in the middle is where you will probably end up. For your first BPM project, you might want to use a worst case scenario for ROI calculation, because the last thing you want is to use the best case scenario and not be able to achieve it. Use the worst case scenario to justify your first implementation, then you can measure the actual benefits on that implementation and start to include those in the roi calculation for later implementations. even if theyre different, at least youve gained some credibility. if you deliver more than you promised, if you use the worst case scenario in your roi calculation and then deliver something better than that, youll be able to include more of the soft metrics in your roi calculation the next time. those are just a couple of rules of thumb on calculating roi. COMMON ROI PITFALLS there are many common roi pitfalls. the if you build it, they will come thing is not necessarily true when it comes to business processes. increased capacity doesnt mean youre going to have increased revenue. Providing self service to customers doesnt guarantee theyre going to use it. these are some of the holes you can fall into with your roi calculations. You might have to have actual reduction in headcount to get the cost reductions you project. if youre not a growing industry, you might have to deal with laying people off or outsourcing part of your process. there could be some change management required in your organization. and even if you do transition to remote work or outsourcing, there are a lot of hidden costs in terms of making sure it runs as efficiently as it did before. CLASSIFY BPM ROI POTENTIAL You want to categorize or organize this whole roi exercise so that some of the factors help you increase business agility, others improve operational efficiency or provide better decision making information. there are a lot of different things you want to look at with BPM in terms of where youre going to get your roi and this all starts at the modeling phase. You want to be thinking about these roi factors as you go through your modeling process.
22
23
provide them with an executive dashboard a way to see whats going on in real time in their processes. OVERCOMING CHANGE RESISTANCE With any sort of change in an organization, the big thing to overcoming resistance is communication. You have to let people know whats going on. another big thing when youre dealing with BPM projects is involving people in the process modeling. in the webinar/paper on process design, we talked about how you can involve many different people in the organization in the process discovery and the early process modeling stages. thats a key thing to have people get some skin in the game about the new processes that are coming in and what might be happening with
22. Summary
to sum up, weve gone through dissecting your process, how processes get kicked off, what steps there are, and how SOA fits into all that. We looked at BPMN as a modeling standard, and then went through some calculations for how you would calculate return on investment within your business process management initiative. And we finished up with a discussion of role changes. to view other webinars/papers in this series and for other information about BPM visit the BPM resource center at http://www.tibco.com/solutions/bpm
www.tibco.com
2011 TIBCO, TIBCO Software, and The Two-Second Advantage are trademarks or registered trademarks of TIBCO Software Inc. and its subsidiaries in the United States and/or other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only.