Give a business process to 3 different Maximo Consultants to convert into workflow and you will end up with 3 different designs. They will be similar due to having the same end goal, but your own logic, experience and understanding will impact how the workflow will be constructed.
A few things to consider…
Start on Paper
It is good practice to start on paper (or in Visio) to draft out at a high level the process and decision points. This allows you to think about what options Users will need, and which roles or person groups need to be involved.
Will you be sending emails, and if so, do you need custom communication templates? What content is going to be on the inbox assignments? Who will need emails, who will need inbox assignments, and do you need either? What verification needs to happen? Do you need to check details of the current logged in user i.e. what group they belong to, what authority levels do they have? Are you sending out to a person, or a group of people?
It is best to get the concept right from the off. Get the process reviewed and understood at a high level by the business before starting to construct the workflow. Editing and reworking it can result in a very messy workflow map that is hard to follow and upkeep.
Keep it Simple
Keeping it simple might seem like stating the obvious but workflow maps can get very large and complicated very quickly.
Don’t have decision nodes doing more than one binary check of more than one thing at a time. For example, if you need to check “if a and b and c then do d else do e”, it is best split down into its individual components as what happens “if a and c but not b”? You would build this “if a then b else ‘what to do if not a’” … then “if b then c else ‘what to do if not b’” … Following in this pattern reminds you to consider the negative options in these scenarios i.e. the ‘unhappy’ path.
Build your workflow to be able to pick up from any status. At some point in future, someone is likely to stop the workflow (be it on purpose or accidentally). This can easily get stuck and have to revert a status to allow you to kick off the process again.
Process revisions … SAVE SAVE SAVE! Even the most experienced Maximo consultants forget to save. They work away revising their updated version of the workflow map, then go to save and lose all their efforts!
Sub processes should be used with caution. Consider wisely how you plan on using them.
Sub processes are typically used for repeated tasks e.g. verifying if fields / notes have been populated prior to progressing. They’re also a great way of keeping your workflow maps neat and tidy, however the upkeep of sub processes can become cumbersome. This is especially true post go-live when you find something in the sub process has to change. You need to deactivate all sorts to update the sub process, then remember to activate but not enable in the right places, and then remember to synchronise your active processes! It soon becomes difficult when a system is in use and and you have data left hanging in older versions of your process…
One pet hate of mine is leaving a trail of enabled but not active processes when revising versions. Tidy up as you go, especially if you’re using sub processes!
Assignment Driven or Status Driven?
Does your workflow need to be assignment driven or status driven? Both have their benefits and drawbacks.
Assignment driven workflows can become pretty complicated very quickly. Take a typical Work Order approval process in Oil & Gas for example. The Work Order usually has to go past 4 or 5 people (individuals or groups) depending on whether the Work Order has services; requires materials to be purchased; stock to be transferred from another site; if the work is safety critical; the work is not safety critical but is at a safety critical location; if the originator has not entered enough information for review purposes to progress. This scenario shows a number of decisions to be checked and handled positively and negatively in the workflow, as well as multiple points where process areas will want a business user to make a decision providing input.
Think then that at each point where an approval is required, an assignment is sent out. If the approver is on leave and hasn’t set their delegate, then the process gets stuck and the admin/support team need to intervene to reassign. What happens if the delegate is set on but they don’t have the permissions available via security to do the approval / decision task that has been assigned to them? Do you build into the workflow to verify that a delegate exists and that they have the correct settings to do what they need to do? The workflow grows arms and legs at each decision point, and grows in complexity as it evolves!
Status driven workflows can usually result in simpler workflow maps. The workflow runs by status rather than assignment, so you’re less likely to result in the scenario whereby a User is on leave with a critical workflow assignment sat with them. The status driven approach can validate on a person’s role being permitted to perform that action.
Status driven workflows work best when making good use of Start Centers. What we would typically provide is a Start Center per job role such as Technician, Supervisor, OIM, Buyer etc. Each has a Start Center showing information in portlets pertinent to their day job. There would also be Start Centers for specific repeated tasks that may cross roles, for example, Deferrals, YTT (Daily Meeting), or Backlog.
Using the examples above, a corrective Work Order is created by a Technician who notices a piece of work needs to be done. It starts life at status ‘WAPPR’. Once the Tech has filled in the details, it routes into workflow which checks all basic information is populated and then changes the status to ‘WYTT’ (a synonym of WAPPR that will sit in a portlet on the YTT (Daily Meeting) Start Center). At the next daily meeting, the Supervisor running the meeting can go to this Start Center and pick up the work needing reviewed. Doing things this way means that if the shift changes overnight or a different person is covering, the assignment is not sat with a specific person or group. Anyone who is permitted to perform the tasks can pick it up.
Feedback indicates Users don’t like to receive lots of emails. Or in some companies, generic boxes are used, so avoiding assignments in this respect make for a happier User who can find all information they require within the Start Center for their role.
To be continued… My next blog will continue on the same theme. If you have any queries about your organisation’s workflow processes, please get in touch.