Process management is a very important part of any PLM software. You can find one in every PLM system. There are so many ways to define and manage process. Few years ago I captured some of them here – PLM Processes: Flowchart vs. Rule-based? While, I believe, we can agree about importance of processes management, I found hard to find simple and powerful implementation of PLM workflow. I believe this statement holds for every enterprise system. Time ago I had a dream that PLM vendors will adopt best in class BPM (Business Process Management) tools and infrastructure. My dream didn’t come true. Instead of that, the reality is that every PLM system has some (not the best) workflow implementation.
As part of my thinking about un-bundling in PLM, I decided to come with a description of what I call PLM workflow dream – list of features for an ideal PLM workflow system.
1- Visual designer. Majority of people think visually when it comes to workflow. So, visual designer should be a tool to draw a workflow in an easiest way, put boxes with activities and connect them together. It would be very interesting to have it done in a collaborative manner – typically, you need more than 1 person to define a good workflow.
2 – Drag-n-drop activity planning. There should be a very clear way to define activities. In most of PLM systems, activities should be connected to something that happens in your system (eg. Part status change; Document release, etc.) To connect them together with flow activities is a key.
3- Visualize and test. Designer should provide a way to "lineup" worklow into simple set of events (boxes) without cumbersome lines/nodes intersection mess. No cyclic visualization, unclear sub graph connections etc. System also should provide way to test the workflow with dummy or real data.
4- Program activities easily. Each activity node should support a notion of process such as failure, alert, delegation and user action (if needed). It would be really nice to have some predefined "processing rules" such as how to react on people absence and mistakes. The interface to set these values and action should be user friendly without additional complexity.
5- Failure programming. I need to be able to program what happens in case of general workflow failure in terms of who to call and what to do.
6- Programming scripts. The ability to attach programmable scripts to every activity/note. These days, Java script is probably a standard to should be just adopted. Don’t invent yet another programming language. Testing ability should support debugging and data dump for analysis.
What is my conclusion? Well, this is my dream list. If I missed something, please don’t hesitate to add it to the list. I believe, there is a possibility to build easy to use workflow system that can be easy plugged into any PLM system. Just my thoughts…