Over the last several months, we’ve been exploring PLM project management, including some great tips for effective project scheduling. I’d like to shift our focus to another way you can manage work inside PLM – workflows. Workflows are at the heart of effectively managing your processes. I’ve asked my colleague, Keith German, to explore some of the best practices for managing workflows with PLM.
Companies look to workflow on PLM as one of the tools to improve productivity, let’s discuss some best practices that will help ensure that you are focusing on this end goal, and not just making a manual process electronic.
Most companies use workflow to circulate documents, information, and change requests for review by owners, approvers and impacted parties. This may be done for:
Compliance to corporate standards
Assignment of tasks
Documented signoff and approval history
Acceptance and notification
Here are some thoughts, ideas and tools that you should consider as you implement workflow
Don't just automate the old
One of the key points is to make sure that you don’t just automate the existing processes. Manual process are based on the tools and limitations of the current systems involved, they may also be many years old with legacy steps that are no long valid.
One of my customers had a process step for every change request where the change manager was required to complete a form that took over 1 hour for each and every change request. As we reviewed their processes, we found that that form was only there for their old retired ERP system. For the last 3 years they have been filling it out for no reason.
Some best practices are:
The technical lead should have a good understanding of the workflow capabilities, processes, routing, assignments, attachments before you meet to plan the processes
Involve all owners in the planning of a workflow process. Review all the steps, forms, documents, etc in the current process to look for areas of where the process can be improved
Don’t try to make 1 master workflow that does it all. Break the workflows into separate processes to handle the specific purpose.
Consider where you can use parallel paths to help move the process along.
The world changes continuously – business environment, organization, management, partnerships, markets, customers, resources, constraints, laws and regulations and requirements evolve over time
Strive to manage change, not to prevent it
Ensure that your solution is robust enough so that it can be extended over time
As other parties get involved there will likely be consequences and changes that will need to be handled
If your workflow is very large, look for areas where you can divide the workflow into shorter ones at logical break points. You can use automatic sub-processes to trigger the next workflow from the one just completing. If the large number of steps is due to setting up multiple parallel paths for concurrent work, consider processing the work in separate workflows
Leverage the tools that workflow provides
Workflow has a number of tools to help automate your processes. Where possible, look for simple tools to help automate tasks and minimize user interactions
Conditional tasks can be used to route the workflow automatically through different paths, these can be setup based on
User decisions – yes/no, approve/reject, or selection from a drop down list
Automatically based on properties – conditions can be set based on properties on the object in the workflow, BMIDE properties and runtime properties, or properties on the workflow tasks and sub processes
Dynamic Participants can automatically assign participants to workflow tasks based on the object in the workflow:
Participants can be assigned to the workflow tasks and can be automatically derived from properties of the workflow targets, and their relations
Project teams associated to objects in the workflow can be used to for task assignment
Checks and Validations can be used to make sure that the objects being put in the workflow meet the expected criteria such as status is correct, the objects are checked-in, the properties are filled in. This can reduce stop the workflow before it starts notifying the user that the data is not ready.
Keep things moving
Finally it is important to make sure that the processes get completed in a timely manner. Here are some thoughts and ideas to make sure that the processes do not get delayed
Durations and due dates can be set on tasks to make sure that the process is completed in a timely manner. If the task is not completed by set date, a notification is sent to the assignees to remind them that there is a overdue task. The task will also turn red in the workflow viewer to highlight that it is late to other users.
Not everyone in the workflow needs to approve or acknowledge it. These tasks wait for a response and may cause the process owner to chase down people to complete the task.
Notifications can be used to email people on the status or completion of the task and process when possible. Many times this is all that is necessary, and it reduces delays waiting for actions.
Quorums allow the workflow to pass once the minimal number of approvals are received. You can use settings to ensure that the required participants respond where necessary.
Users don’t like to wait for automations and system actions to complete. When tasks have a number of handlers and actions happening, the workflow designer can set them to run asynchronous so that they happen on the server and free up the users to continue working.
Resource Pools are a great tool that can allow users to “claim” tasks from a bucket of tasks. These are great for tasks that are assigned to a team and not a specific person to perform that assignment. These teams can be setup based on groups and roles to ensure that the correct skill or team is claiming the task.
Taking these concepts into consideration can help ensure successful deployment of workflow on PLM. Review the documentation for the best way to implement the tools and handlers above.
About the Author
Keith German is a Teamcenter Product Manager with over 20 years of experience implementing and developing PLM solutions. He is a Mechanical Engineer with extensive experience working with automotive, transportation, and aerospace and defense industries.