Tools and prep for work

Know your tools and prepare for work

Hi and welcome to another article of the Akino Fishing Company BPM initiative series.

Last week we described our pilot process in plain english. We wrote what is the process, what does it do, what are the expected inputs and outputs and how the information is processed.

Today we’ll start with that description, do a little preparation work around it and we’ll get to know the tools we’ll be using to build our BPM project.

Preparation for Work

A quick recap

Parking Space

Parking Spaces. Image by Maarten

So, our pilot process is the now famous “Request a parking space” process. After starting with a very simple/direct description (the happy path):

This process starts with a request from someone, either internal or external to the company. The requester fills in a small form with his name, his company name and the period in which he will need the parking space. The system will check if there are available parking spaces in that period and returns a response to the requester: Either “Please park on parking space X” or “We’re sorry but there are no parkins spaces available for that period”

we then elaborated it, adding depth and “not so happy” paths, without going overboard with the complexity to reach this:

This process starts with a request from an external entity or an employee, by filling and submitting a simple form with the following fields:

  • Name
  • Company name
  • Period to use the parking space
    • Date
    • Start Time
    • End Time

The system will then check if there are any parking spaces available for that period.

If the requester is NOT an Akino Fishing Co. employee and

  • The system returns that the requester can take parking space X, then
    • The requester is presented with a message stating “Your parking space is reserved. Please park on space X. Thank you”
  • The system returns that there are no spaces available, then
    • The requester is presented with a message stating “We’re sorry but currently there aren’t any parking spaces available in the requested period. Would you care to leave us your contacts and we’ll try to arrange a parking space for you?”, together with 2 fields: e-mail and mobile number.
    • If the requester chooses to submit the contact information, the system should create a task to a group of people, called “concierge”, that will try internally to arrange a space.
      • If they can, they’ll mark the task as OK and give the information about the parking space number. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that they can use parking space X.
      • If they can’t, they’ll mark the task as NOT OK. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that despite the efforts they couldn’t arrange a space.
  • The system doesn’t return anything, then
    • The requester is presented with a message stating “We’re sorry but we can’t check parking space availability right now. Would you care to leave us your contacts and we’ll try to arrange a parking space for you?”, together with 2 fields: e-mail and mobile number.
    • If the requester chooses to submit the contact information, the system should create a task to a group of people, called “concierge”, that will try internally to arrange a space.
      • If they can, they’ll mark the task as OK and give the information about the parking space number. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that they can use parking space X.
      • If they can’t, they’ll mark the task as NOT OK. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that despite the efforts they couldn’t arrange a space.

If the requester is an Akino Fishing Co. employee and

  • The system returns that the requester can take parking space X, then
    • The requester is presented with a message stating “Your parking space is reserved. Please park on space X. Notice that you may need to give up your seat, if it’s deemed necessary to receive visitors.Thank you”
  • The system returns that there are no spaces available, then
    • The requester is presented with a message stating “We’re sorry but currently there aren’t any parking spaces available in the requested period. Thank you”
  • The system doesn’t return anything, then
    • The requester is presented with a message stating “We’re sorry but we can’t check parking space availability right now. Check back later. Thank you”

This is the process we’ll model.

The Analyst Method

At Red Mavericks we like to exercise our creativity, do things out of the ordinary, but sometimes, we need to do things with a certain consistency, with a certain methodology. For instance, to pickup information from a plain English description into structured information we follow a certain method. Now, again, there are other ways to do it, but we like to do it like this.

We go through a series of steps:

  1. Identify the verbs in the process description
  2. Identify the nouns in the process description
  3. Identify decision words (if, then, else, while, when, until, or, and, not)
  4. Identify time associating words (after, before, during, at start, in the end, prior)
  5. Build a table with your findings, identifying for each finding their type(1, 2, 3, or 4) and try to answer the 3W1H (What, Who, When and How)

it may not seem like it at the moment, but 80% of what you need to know to model your process is right here. Now eliminate any repitions that mean the same. For instance, in the description you have “…The requester is presented with a message stating “We’re sorry but currently there aren’t any parking spaces available in the requested period. Would you care to leave us your contacts and we’ll try to arrange a parking space for you?”, together with 2 fields: e-mail and mobile number. If the requester chooses to submit the contact information…“. In this case keep only e.mail and mobile number, as the contact information already refers to these two fields.

I’ll let you do the work for now, and identify them for yourself. Come back in 10 minutes when you’re finished. 🙂

10 Minutes

You should end up with a list similar to this one, give or take a few:

  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”

The Tools and Artifacts

My Lego

Designing a BPMN process model is a bit like playing with Legos. You have your building blocks and you have rules to connect them (in the Lego blocks the rules are Physics). You can configure and change your blocks, so that their behavior changes, which is something you can’t do with your normal Legos. Consider it a bonus.

BPMN: Business Process Modelling Notation.

It’s a notation to represent process models that ensures a relatively easy way of understanding a process and that allows an actual implementation. Oracle BPM Suite uses BPMN models to represent and actually automate and execute processes, so there’s never a gap between what is designed and what is actually running. And because it’s a standard, it ensures easy import/export from several tools because the process models are the same.

As with all games, you first need to know the pieces you use, the rules of the game and the playing field/board, so that’s what we’ll do now.

There are 6 different types of pieces/blocks

  • Tasks to be performed by users
  • Automated tasks to be done by systems
  • Groups of tasks built together that do something self contained – subprocesses
  • Decision points where, depending on conditions, the process does different things
  • Tasks that represent events
  • Measurement instruments, used to collect information on specific parts of the process

There are several subtypes that belong to a given block type, each with a specific behavior. For instance, users tasks can be:

  • A “normal” user task, where a user fills in the associated information and registers the task result
  • For your information (FYI) tasks, meant to give some information to the user and for him to confirm he received it. This task type doesn’t wait for a user intervention to allow the process flow to continue
  • The initiator task, which has built-in capabilities to allow someone to start a process on their own
  • Approval cycle tasks, a.k.a. Management tasks, which are tasks that need to be performed by several persons inside an approval cycle. For instance, I respond, my superior confirms my decision, his superior also confirms and so on.
  • Voting tasks, which consider that the task is performed when a voting result is reached. You can configure the expected voting result. This task is sent to a group of people. For instance, you can set the if 3 out of 5 people vote yes, the task is marked as done with a “Yes” result.
  • Manual tasks are tasks that are performed without any control of any system. We use manual tasks to represent work that needs to be done, but without actual interaction with any system or the BPM Suite.

We’ll provide a list of the most common building blocks of Oracle BPM Suite in a nice poster so that you can print it, and a wallpaper for your PC and mobile devices. It will be available in the next few days.

Connecting the description with your Lego pieces

Now that you know your Lego pieces, let’s connect them to what we found out about our process description:

  • The verbs with tasks (automated and human)
  • The nouns with roles, groups (refers to “who”) or data (refers to “what”)
  • Decision words with decision points (gateways)
  • Time associated words order the previous points (one after the other)

The Oracle Process Composer

We know our process, we know our building blocks, we now need to know our playing field: the Oracle BPM Process Composer.

The Oracle BPM Process Composer

The Oracle BPM Process Composer

In the latest 12c version, the process composer suffered a major overhaul, with a large number of new features brought in, a new Business Architecture area, and a man improvement on robustness, performance and ease of use. You can now really do a complete end-to-end process, from design to modelling, to implementation, to testing, to deployment without the use of any other tool (No more of that JDeveloper – good news to business analysts) and in a very easy way. That’s what we’ll be focusing on this pilot project: how to get business users, not IT staff, to do all of these things by themselves.
So, the process composer is now a tool divided into two areas: the business architecture area, suitable to model an Enterprise-wide BPM initiative, with the use of enterprise process maps, strategy models and value chain diagrams;

The Business Architecture part of Process Composer

The Business Architecture part of Process Composer

and the BPM project area, suitable to model, implement and deploy BPM processes.
We’ll be working on the BPM project area for now.

Process Composer BPM Project Area

Process Composer BPM Project Area

Let’s take a closer look at it.

The BPM project area

This area is divided into logical concepts:

Process Composer's BPM project area detail

Process Composer’s BPM project area detail

  1. Artifacts type choice – where’s you choose what kind of artifacts do you want to see, create or change
  2. Artifacts list – the list of already created artifacts
  3. Overall definitions – Enterprise and process wide definitions
  4. Project settings – Project definition and settings
  5. Project File Management – toolset to allow project file management and project actions

We’ll need most artifacts, so we’ll learn about the assets as we go along with our pilot project.

Wrap up

You now know everything you need to start designing your process in the Oracle BPM Suite Process Composer. Our next article will cover the first part of a step-by-step build of our pilot process.
Next week I’ll be travelling, so next article will probably only go out in a fortnight, by the end of December’s 1st week.

Cheers,

Maverick

Post header image by zzpza

Pilot Project

The Pilot Project

Welcome back for the 3rd episode of the Akino Fishing Co. BPM initiative saga.

About this article’s head image, we’re sorry, but the relation between Mavericks and pilot was too good to miss… 🙂

Anyway, today we’re going to describe our pilot project, the famous “Request a parking space” process. You can read about how and why we chose this process in last week’s article.

Let’s get started!

The process description

We’ll begin with a quick textual description of what the process is. So, the consultants met with some sales personnel and secretaries that typically manage these requests by hand. The idea is to let them describe how this process works. Once the consultants understand the process from their perspective they’re ready to describe it in their own words, which will then be modeled in Oracle BPM Suite.

Take note that getting to an adequate process description is an iterative, methodical and creative work. Now, “methodical” and “creative” not always get along, but they do coexist. The creative part comes into play when using problem solving to find improved ways of doing the processes’ activities, while the methodical approach tries to ensure that the whole process is captured and described.

Happy, happy, happy path

It’s quite normal that the first iteration focus on the so-called “Happy Path”. The happy path is the sorted list of process activities that are completed to achieve the process objective, when everything goes according to plan, without any issues or problems along the way.

Happy Path

The Happy path. No obstacles or deviations. Image by Vincent.

So, for instance, if you have a loan process, the happy path would be something like this:

  1. Customer applies for a loan
  2. Bank checks documentation
  3. Bank evaluates the credit rating
  4. Bank concedes or rejects the loan

When you ask someone to describe you a given process, the happy path is typically the first description that they give you.

A methodical approach

Although the creative process is very important in problem solving and optimization, the way a process description is created should follow some rules, guidelines and principles.There are literally tenths or hundreds of ways to do this. We’ll use one that we think works well, that consists on capturing the happy path first and then questioning the users and making them think of things that can go wrong along the way.

So, for our first iteration, we’ll start to describe the pilot process in plain English first, without using any specialty tools. We confess that we like to do it first on pen and paper, but you can use a word processing software, the notepad, whatever you feel comfortable with.

Drafting on pen and paper

We love using pen and paper, Helps with our creative process. Image by Nathanael Coyne

Now try to think for yourself, what would be your description of a process to request a parking space. Take 30 seconds to think about it and then continue reading this article. Remember… plain english! Don’t go thinking on User tasks, events and gateways (more on these subjects in the next posts).

Ready? Set? Go!

30 Seconds

Done? Great!

Your description should be something like this:

This process starts with a request from someone, either internal or external to the company. The requester fills in a small form with his name, his company name and the period in which he will need the parking space. The system will check if there are available parking spaces in that period and returns a response to the requester: Either “Please park on parking space X” or “We’re sorry but there are no parkins spaces available for that period”

Simple enough, no?

The second iteration

That was our first iteration, the “happy path”.Now we start to think on what can happen in that process that may influence the activities in the process or the overall process objective: grant a parking space. Maybe there are things that are missing, or that you feel that should be treated differently, like for instance:

  • How do you want to treat external entity requests? Do you want them to have priority over employee requests?
  • Do you just want to respond that there’s no parking space available or do you want to do some kind of action to see if someone can still try and find an alternative?
  • (…)

Trust no one!

There are other points that you need to think about when doing a process description. One of the most important is sometimes, we would dare to say often, neglected and has to do with responsibility. Let’s say that the system that checks if there are parking spaces available  doesn’t respond for whatever reason (network issues, system is down, power outtage, …). What should we present the requester? What kind of response should the process give?

So, a golden rule is Never expect that systems, or people for that matter, respond at all to a request you make, let alone respond in a timely fashion. As with anything else in this world, systems and people will fail and fall short of expectations. Engrave this sentence into your mind, and have this in consideration whenever you create/design business processes.

Next iterations

There are still a lot of new things you can add to your process:

  • Do we need to have a specially reserved VIP space that no one can request?
  • Do I want the possibility to manage unused management parking spaces, so that I can use them as available parking seats?
  • Do I need to account for things like earthquakes, fires and floods?

The list goes on and on, so as the complexity.

complexity illustration

“It seemed a good idea to add some more lines at the time…”. Image by Armando Alonso.

There’s another golden rule about business processes: Business Processes are never perfect and can always be improved. So, although the list of things you can remember to improve a process is large, you’ll need to judge what makes sense to implement, and what doesn’t. Try to remember the Pareto’s Principle:

80% of results are achieved with 20% of the effort. 

Carefully evaluate if the additional 3, 4, 5, 6% you’ll get with some of these improvements justify the cost of adding 30% more effort. Keep it as simple as possible.

The final description

So, we end up with a final process description that looks something like this:

This process starts with a request from an external entity or an employee, by filling and submitting a simple form with the following fields:

  • Name
  • Company name
  • Period to use the parking space
    • Date
    • Start Time
    • End Time

The system will then check if there are any parking spaces available for that period.

If the requester is NOT an Akino Fishing Co. employee and

  • The system returns that the requester can take parking space X, then
    • The requester is presented with a message stating “Your parking space is reserved. Please park on space X. Thank you”
  • The system returns that there are no spaces available, then
    • The requester is presented with a message stating “We’re sorry but currently there aren’t any parking spaces available in the requested period. Would you care to leave us your contacts and we’ll try to arrange a parking space for you?”, together with 2 fields: e-mail and mobile number.
    • If the requester chooses to submit the contact information, the system should create a task to a group of people, called “concierge”, that will try internally to arrange a space.
      • If they can, they’ll mark the task as OK and give the information about the parking space number. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that they can use parking space X.
      • If they can’t, they’ll mark the task as NOT OK. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that despite the efforts they couldn’t arrange a space.
  • The system doesn’t return anything, then
    • The requester is presented with a message stating “We’re sorry but we can’t check parking space availability right now. Would you care to leave us your contacts and we’ll try to arrange a parking space for you?”, together with 2 fields: e-mail and mobile number.
    • If the requester chooses to submit the contact information, the system should create a task to a group of people, called “concierge”, that will try internally to arrange a space.
      • If they can, they’ll mark the task as OK and give the information about the parking space number. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that they can use parking space X.
      • If they can’t, they’ll mark the task as NOT OK. From then, the system will generate an e-mail and/or an SMS to the requester, depending on the contact data they filled in, stating that despite the efforts they couldn’t arrange a space.

If the requester is an Akino Fishing Co. employee and

  • The system returns that the requester can take parking space X, then
    • The requester is presented with a message stating “Your parking space is reserved. Please park on space X. Notice that you may need to give up your seat, if it’s deemed necessary to receive visitors.Thank you”
  • The system returns that there are no spaces available, then
    • The requester is presented with a message stating “We’re sorry but currently there aren’t any parking spaces available in the requested period. Thank you”
  • The system doesn’t return anything, then
    • The requester is presented with a message stating “We’re sorry but we can’t check parking space availability right now. Check back later. Thank you”

 

With this description we wrap up this article.

On our next article, we’ll take this description and start to model the process in Oracle BPM Suite. This is where the fun part begins. Until then…

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

The Akino Fishing Company logo

Introducing the Akino Fishing Company

Welcome to the Red Maverick’s first post.

Today, let us invite you to meet Mr. Akino and his company: The Akino Fishing Company. They’ll be the subject of many of our articles, videos and projects, and knowing them will be valuable to help us make some decisions along the way.

Historic Background

Mr. Akino was born in December 1st, 1946, in a small fishermen’s village called Tomonoura. His father was a fisherman and took Mr. Akino to the sea from a very young age. He helped his father whenever he could.

Tomonoura, Japan (image from Wikipedia)

In 1962, Mr. Akino got himself a boat and started to work as self-employed. After a few years his business was doing great, so he employed a few more people and got a ship. By then, the Akino Fishing Company was born.

The Akino Fishing Company logo

The Akino Fishing Company logo

From then on, Mr Akino bought some more ships, employed more people, and business grew to a point where he started buying smaller fishing companies.

The Akino Fishing Company is now the Japan’s largest fishing company, with offices in Tokyo, New York and Lisbon.

Mr. Akino is married and the father of 3: Akai, Sato and Okino. They run most of the company now, supervised by their father.

The Present

The company is spread across the globe, with their headquarters in Tokyo, their fishing offices and plants in Tomonoura, and sales offices in New York (their entry point into the US Market) and Lisbon (entry point to the European Market).

Akino Fishing Company Offices

The Akino Fishing Company operates in 4 core areas of the fishing industry:

  • Fresh Fish – Typically supplied to high end restaurants and food companies. Must be delivered in very tight deadlines and top notch quality.
Fresh Fish Market

Fresh Fish (photo by slackrhackr)

  • Frozen Fish – The prime target is the retail industry. Mainly mass market products, with the occasional special fish.
  • Preserved and Canned Fish – Specialty products for the retail industry. Has a line of higher end products, such as caviar.
Canned Fish

Canned Fish (photo by  StijnNieuwendijk)

Stijn Nieuwendijk

  • Leftovers – For the animal food industry. Takes advantage of the remains from the previous 3 areas, and unsalable fish.

The company is still very traditional, with most of the work being manual, although some IT Systems are used thoroughly throughout. Most of the documents in the company are still hard copy.

The Problem

Although the Akino Fishing Company still is Japan’s largest fishing company, it’s losing ground to its competitors fast. Competition is able to negotiate faster, with more data, getting better prices and fulfilling orders much faster than Akino. And, as the fish market increases the pace, Akino Fishing Company is being left behind. Something is wrong, but it’s difficult to find out what. Some of their best customers are starting to source their fish somewhere else.

After meeting with his managers, Mr. Akino and his sons think the issues revolve around the delivery times, which then reflects in lower quality fish, but these may not be the only ones and they aren’t sure these are actually the most important ones.

In order to address the problems, a decision was made to invest in IT to try and get a better grip on the company’s processes. The idea would be to find out what’s wrong, through careful and comprehensive monitoring. Also, the increase in Business Process Automation should prevent problems cut on delivery times and reduce operational costs.

Because Akino Fishing Company already has some Oracle products and considering the top class features, they decided to go with Oracle Fusion Middleware, leveraging the “Red Stack”. They’ll use Oracle BPM Suite to model, automate and monitor their business processes. With Oracle BPM Suite, they also licence Oracle SOA Suite, best of breed SOA Integration platform. Akino Fishing Company now has the tools they need to address the Business Process Management initiative.

The BPM Initiative

Akino Fishing Company’s CIO, Okino-san, hired a consulting firm to help plan and implement an enterprise-wide BPM initiative, with which they hoped to identify and solve their problems.

We’ll tell you about it in the next post. Until then..