Posts

Finally Hands-On

The first BPMN process

Hello there!

I know I’m a bit late on this article, but my presence in the Middle East had more (positive) impact than I anticipated, so I got tied up at work.

Anyway, let’s finally start to use Oracle’s BPM Composer to model our “Request a parking space” process.

As the Akino Fishing Co is a series focused on the Business User, we’ll try to keep our articles as Zero-Code as possible.

Finally… Hands-on!

We’ll start by logging on to BPM Composer

Oracle BPM Composer Login Screen

Oracle BPM Composer Login Screen

After logging in we are taken into the Process Spaces screen. Here, we’ll create a Space for our BPM Initiative. A Space is an container were you group and keep your Business Architecture (BA) and BPMN projects.

You can create as much spaces as you want, to organize your Business Architecture and BPMN projects the way you think it’s best. However, a project that belongs to a given space can’t be “seen” in other spaces, so take that into account. For the purpose of our article, we’ll be using just one space for all processes.

The Process Spaces List

The Process Spaces List

Create a new Process Space

Create a new Process Space

Don’t forget to give it a proper name and a decent description.

Setup the Process Space Name

Setup the Process Space Name

Remember that Oracle’s BPM Suite 12c has a significant amount of documentation and reporting features. If you fill in the corresponding information along the way (this means filling the documentation fields and comments), you can take advantage of these features and generate automatically a lot of documentation. This will save a lot of time on your BPM projects because, even though you may need to extend and/or customize the generated documents, there’s a lot of quality information being provided there.

Setting up permissions to your Space

You can, and should, set the permissions regarding access to your Process Space. You can set them using the edit space option available near the Space icon, by specifying which users or groups have what permission level.

Edit Process Space Permissions

Edit Process Space Permissions

Set Space Permissions

Set Space Permissions

Choose Users and Groups

Choose Users and Groups

Set the permission level

Set the permission level

Press "Share" to set the permission for the chosen user/group

Press “Share” to set the permission for the chosen user/group

There are 3 permission levels:

  • Viewer – This permission only allows processes to viewed, not changed.
  • Editor – This permission allows projects to be edited and changed.
  • Owner – This permission allows not only project editing, but also the ability to create project snapshots (as in VM, where you save the project snapshot), delete the project, share the project with other and, more importantly, deploy a project.

To make it easier for us, we’ll use the project owner for the reminder of the article, but you now know what you can do permission-wise.

Create your process

Now, we’ll create a new BPM project in the Akino Fishing Co. Space.

Click on the ‘+’ icon in the BPM Project creation tool on the right of the process composer screen

Process Composer - Project Creation Area

Process Composer – Project Creation Area

Now, give it a suggestive name, such as “Facilities Access and Use Requests” and click Save. Notice that we didn’t create  a BPM project with the “Request a parking space” name. This is because BPM projects typically have more than one BPM process, so you should name it something more high-level that can contain several, close-related, processes. For our process, we intend to group here all the requests to use Akino’s facilities, starting with the “Request a parking space” process.

Process Composer - Create a new BPM Project

Process Composer – Create a new BPM Project

Process Composer - BPM project created

Process Composer – BPM project created

Once the project is created, click on it to access its details. You’re then presented with the project area, where you can create all your project artifacts, create project snapshots and set the organization’s departments and roles. You can check it out more in detail in our previous post.

You first need to be able to edit the project. Find the pencil icon and click on it. From then on, you’ll be able to edit your project and create, edit or delete your artifacts.

Process Composer - Edit the process

Process Composer – Edit the project

Now, the ‘+’ sign should turn blue, and you’re able to create your “Request a parking space” process, in the processes tab.

Create a new Process

Create a new Process

Don’t forget to place meaningful and “as complete” as possible descriptions. These will really save you a lot of work down the road. Press Create and voilá… your first BPMN process is created. Congratulations!

Process Created

Process Created

Now click on it and you’ll access the actual model. As you can see, it’s empty. In a few minutes, the first iteration will be done.

The BPMN modelling canvas

The BPMN modelling canvas

The modelling process is in fact quite simple. All you have to do is drag-and-drop your “lego pieces” (remember the last post?) from the toolbox in the right into the canvas.

You’ll get to know the full range of  BPMN artifacts (Interactive Activities, Automated Activities, Decision Splits, Events…) as we get along with our articles. For this first iteration, we’ll use:

  • Interactive Activities (performed by humans)
    • User Task – Typical task to be performed by someone (a human)

      A "normal" user interactive task

      A “normal” user interactive task

    • Initiator Task –  User tasks that have special characteristics that allow to start processes (even though they’re placed after the “Start” symbol)

      The process Initiator Task

      The process Initiator Task – notice the green triangle

  • System Activities
    • Service Activities – Calls a service synchronously and collects its result.

      The Service Task - Calls integration point synchronously

      The Service Task – Calls integration point synchronously

    • Notification Activities – Uses a special messaging service to send E-mails or SMS

      A notification Task can be used for communication with an entity, by e-mail or SMS for instance

      A notification Task can be used for communication with an entity, by e-mail or SMS for instance

  • Decision Splits
    • Exclusive gateway – Evaluates a condition and based on that lets the process follow one, and only one, of the paths. Always contains a default path, in case the condition doesn’t evaluate correctly to any of the defined paths.

      The Exclusive Gateway

      The Exclusive Gateway

Design your process according to the description

If we go back to our previous post you’ll remember that we picked up a lot of information from the process description

  1. Verbs – filling form, submitting form, check available spaces, returns message, submitting contact information, create a task, generate e-mail or SMS,
  2. Nouns – Request, Requester, Form, Name, Company Name, Period Date, Period Start Time, Period End Time, External Entity, Employee, Parking Space, Message, E-mail, Mobile Number, System, Task, Concierge
  3. Decisions – if there are any parking spaces, if the requester is NOT an Akino Fishing Co. employee, if the system returns that the requester can take parking space X, if the system returns that there are no spaces available, if the requester chooses to submit the contact information, “if they can, they’ll mark the task as OK”, “if they can’t, they’ll mark the task as NOT OK”, if the system doesn’t return anything
  4. Time Associations – This process starts with a request, the system will then check, “from then, the system will generate an e-mail”

These will map with our BPMN artifacts and help us organize them in the canvas. For instance, verbs map into activities.

  • Filling form and submitting form refer to the same stage of the process, which is the start -> Initiator Task
  • Check available space is something that the system will do -> Service Task
  • System returns a message to the user -> Notification Task
  • Create a task to a concierge group -> User task
  • Generate e-mail or SMS -> Notification Task

As you can see, this made it pretty easy. Of course, you can read through the complete description again, but this will help you do things quicker

The same can be done for the other types of information.

So you’ll start creating your process by placing an initiator task right after the Start symbol

The initiator task is placed right after the process start

The initiator task is placed right after the process start

You can then edit its properties, by right-clicking over it. This will show the context menu for this type of BPMN artifact. Choose Properties and set its name and ensure the task type is set to initiator. If it’s not, change it.

The task context menu

The task context menu

Editing Task properties

Editing Task properties

Task Type - Initiator set

Setting the Task Type to initiator

After this is done, go to the next activity, which is to check the availability of parking spaces given the information filled by the requester. Do the same as you did for the Initiator task

System Task Properties

System Task Properties

Then you reach the first decision point, where you’ll evaluate which process path to follow. First decision is based on whether the requester is or isn’t an Akino Fishing Co. employee. We’ll start modeling the branch that deals with Akino Employees.

The Gateway Properties

The Gateway Properties

Branches Editing

Branch Editing

The employee brand should look something like this. See if you can understand the process, as it is very simple.

The Parking Space process with the employee requester part modeled.

The Parking Space process with the employee requester part modeled.

So this is what the process would be if it was only available for employees. Now let’s add the remaining steps. For starters, all of these activities are performed by the system itself, except the initiator task, which is done by a person. But the question is, how do we treat this person? What’s its role in the process? You can set several roles in a process, typically assigned to parts of the process called lanes. Each lane typically holds the process activities that are performed by its associated role. Most of the work is done by the requester, but in some cases, a concierge role is also involved. So let’s create these roles.

You can right-click over the lane name, choose Properties and create the role Requester. Notice that the lane changed names.

Choosing the Process Role for that lane

Choosing the Process Role for that lane

The requester Role

The requester Role

You can also create new lanes to assign more roles. In the case of the concierge role, will add a new lane, change it to the concierge role and then place the necessary tasks in this lane. Notice that Oracle BPM will use preferably the roles associated with each lane to assign a task to a role/group.

Adding more lanes

Adding more lanes

By default, the lane role is not assigned

By default, the lane role is not assigned

Creating a new role

Creating a new role “Concierge”

Your process model first iteration is complete

This is how the process looks after the first modelling iteration

This is how the process looks after the first modelling iteration (note: where it reads process owner (lane role) it should read Requester)

Note: This isn’t the most optimized process model. There are other ways of modelling this process which result in better performance, and more reuse of the artifacts. The focus of this model was on easy understanding, not process optimization.

So we designed our first BPMN 2.o model on Oracle BPM Suite.

It still doesn’t execute, it’s just a diagram, but we’ll get to that.

 

On the next post, we’ll start to see what can we change to improve it a bit and start working on the actual implementation so that the process is executed. Stay tuned.

Cheers,

Maverick

Post header image by Katie Inglis

Strategy image

Akino’s BPM Initiative Strategy

Hi everyone and welcome back.

Picking up from the first topic,  the Akino Fishing Company now has a team of consultants helping to setup the BPM initiative.

After some consulting sessions, 4 areas of work are identified and sorted by starting date:

  1. Infrastructure availability and BPM Suite instalation/configuration
  2. BPM pilot project
  3. BPM governance model
  4. BPM Enterprise-wide adoption

We’ll keep our focus on the second point for now, as it is the most critical of the lot. We’ll address the remaining points in future articles.

Defining a pilot project strategy

Because the company is still tied up to manual ways of doing work and because change will always find resistance, not a lot of departments realize the potential benefit of using a platform as Oracle BPM Suite. Changing the way people work will always find deterrents.

Resistance to Change

To be able to ensure a wider base of supporters, the best approach is to build a set of pilot projects that would prove not only the concept, but also show the potential improvement and leveraging of the existing tools and systems. Every BPM initiative should start like this.

Now, one can always argue that if you choose a very simple process to pilot, the end result may not have enough impact to prove value and to get people on-board the BPM initiative. It’s a fair point.However, the use of pilots is nothing more than risk management. It’ll always be easier to do several pilots with increasing importance and complexity, building confidence at each step, than doing a larger more complex project that needs to deal with all the setup of the BPM initiative, which has a much larger probability of failure.

Risk - Accept, Avoid, Reduce, Transfer

With a couple of success stories you should be able to get the necessary support to start implementing larger, more complex processes. Remember, don’t go for the moon!

So, the Akino Fishing Co. decides, with the help of the consulting team, to develop 2 pilot projects.

  • Very simple process (support process) – Focus on testing the concept, validating the infrastructure, setting up all the necessary control, support and monitoring mechanisms (and there are quite a few) so that future projects don’t have to worry as much about these. It’ll also set the basis for BPM Governance, Training, UI definition.
  • Medium process (management process) – Make a wider use of the platform’s features and set the target to deliver reasonable value to the management. Main purpose is to get deciders on-board.

Because we’ll be starting with some very simple processes, try to use as most Oracle product features as possible. This may sounds like a bit of a contradiction, but if you don’t try the features with a small, contained project, you’ll end up trying them for the first time in a large complex project. Again, this is just risk management.

Also, because the process itself is simple, adding features and capabilities, like building a mobile app to use it, may help people realize the potential value of using Oracle BPM Suite.

A side note on Process Classification

You’ll see us referring to processes as support, management or core processes. This is a way to classify business processes, following some of the best practices and process classification frameworks available in the market. It’s also the suggested classification from Oracle, as can be seen if you create an Enterprise Process Map in BPM Process Composer 12c. If you create a new Enterprise Process Map, three lanes, corresponding to Core, Management and Support, will be created by default.

Process Classification in Enterprise Process Maps

Process Classification in Enterprise Process Maps

  • Core processes – These are the ones related to the core business. In Akino’s case, any process related with the fishing activity itself
  • Management Processes – These are the ones related to the management of the company. For instance, any process related with the company’s financial management is an example.
  • Support Processes – Anything outside the previous 2 types will typically fall on this category.

If you want to learn more about the process classification framework, you can check APQC website or this video.

Getting ready to change

Getting back to point, one of the most overlooked aspects in implementing a BPM initiative is Change Management.

Change Management plays a big role in the successful adoption of a BPM Enterprise-wide program as it will be the biggest weapon against change resistance. There are a few things that you should do, namely:

  • Key Stakeholders and Users Profiling – Build the profile and personas of the most important stakeholders and users. This will help you build a mindset that focus on the best ways to communicate with them. Remember, these will be the pilots’ judges, so address them carefully and with a purpose.
  • Communication Plan – Develop a communication plan that goes side-by-side with your implementation project. Communicate frequently and effectively. You have to market the pilots inside the organization.
  • Training Material and Classes – Create clear and easy to use training material. Choose the medium wisely.
    • Don’t forget to train both the end-users and the support teams.

The First Pilot

The choice for the Akino Fishing Company’s first pilot project is a “Request a parking space” process. Basically, everytime a customer comes to visit any of Akino’s offices, he may request a parking space for him. When not in use by customers, employees can also request access to available parking spaces in the parking space pool. It was chosen because of its simplicity and low importance, but it will have some external visibility, with the possibility of mobile interaction.

We’ll start detailing the pilot project in the 3rd article of this series. Until then…

Header image by Birgerking