A change request (CR) is used to formally change the status of a set of items. Typically, a CR is used to release items, but can also include obsoleting an item or setting the item maturity. It can often be the result of a suggested set of enhancements or problems with a product as outlined by an investigation request.
There is no limit to how many workflows you can create; you could create one workflow to release items and another to obsolete items. You could take this further and create different release workflows to use in different project types or for different item types (eg. one for mechanical items and one for electrical items).
Before you start modeling workflows in Upchain, we recommend that you already have a process in mind. Mapping this process out in a diagram application gives you a solid base from which to start.
Things to consider include, but are not limited to:
Who might initiate a CR and when?
What must be true of your items before an item can be released? For example:
Who will be responsible for approving the CR? Do you need multiple approvals?
What should happen if certain items do not meet the expected criteria?
What would be some reasons why a CR could not be completed or need to be restarted?
Are there any additional actions that should occur at each step? (notifications, status updates, etc).
An example workflow might be:
Check mechanical part item types for the material attribute:
Check purchased part types for manufacturer and manufacturer’s part number:
Check that product structure, assembly, and manufactured item types have a drawing:
Check that items do not have a stale cBOM:
Send a task to the lead designer to approve (or reject) the CR:
If they approve, release the items.
If they reject, add a comment and send the CR back to the CR creator to fix whatever is required:
Make sure to include all the steps in your ideal process (happy path) as well as any possible roadblocks (exception path) that may occur. In the preceding example, it might be the case that there are a lot of missing attributes (which would generate a lot of tasks to fix them) and it would be easier to cancel the workflow and create a new one after all attributes are filled in. You should ensure the option to cancel the workflow completely is built into your workflow.
To help you in your planning, read through the list of available primitives to get a sense of what is possible.