People who use workflows every day often describe traditional workflow designs as linear, static and sequential.
And while those terms are accurate, they also indicate the inherent flaws in traditional workflow design – especially as it relates to today’s fast-moving digital business environment.
The linear nature of “old-school” workflows just doesn’t provide the flexibility or scalability needed to adapt workflow design when business needs change. Lacking this agility to respond to change seriously limits the usefulness of traditional workflow design for modern business processes.
Let’s take a look at a few best practices for workflow design that will give you the agility to react, scale and adapt when your business needs (and their associated processes) change.
1. Splitting Workflows
If you split a linear workflow into multiple, digestible modules, you gain a number of key efficiencies that can make a big difference:
- Flexibility to adapt to changing business needs
- Process recycling to re-purpose commonly used workflows
- Rapid error resolution to debug a single module rather than an entire workflow
- More efficient testing to examine individual modules, and quickly identify and resolve potential issues
- Better performance to run your workflow modules faster
2. Upfront Input & Output Design
It’s always a good idea to consider input and output at the beginning of the workflow design process. This can help you avoid needing to make major adjustments to your entire workflow later in the process.
Also, take into consideration and allow time for any interruptions or variations that might not fit within the standard process, such as offline collaboration.
3. LOB Integration Issues
The key to integration with your line-of-business applications is to only involve the systems relevant to your workflow. You also want to ensure that the data required for the workflow will always be available at the right time, and more importantly, in the correct format.
If any kind of data transformation is required between systems, it should take place outside of the workflow process. Remember, workflow should support process flow—not be expected to modify and translate data from disparate systems.
4. Know Your Workflow Models
Many people talk about the “right” workflow model, but it’s not really about the right or wrong model. Whether you choose sequential or State Machine is not the issue; it’s about finding the model that best fits your business needs. Here’s how to choose.
- Sequential: Best for short or robust processes that are not error-prone
- State Machine: Best for process tracking
5. Use Workflow Constants
All of the Nintex Workflow 2013 provisioning actions require a security account with high-level access to Active Directory to perform various tasks. When designing a workflow, you can manually supply the credentials of the account to the workflow actions. That means anyone designing such a workflow would have to explicitly know the name and password of the account.
A more secure option is to create a workflow constant or global variable and record the account and user name in it, and then use the workflow constant in the workflow designer. The benefits of this are:
- Trusted workflow designers can set up workflows that interact with Active Directory while protecting the integrity of the high-level account.
- If you have a staging environment and a live environment, you only need to ensure that the variables are the same in both environments. No need to update the workflow settings when you export a workflow, and then import the workflow between environments.
If you’d like to learn more about optimizing your workflow design, check out these two videos – Nintex Workflow – Removing Duplicates and Nintex Workflow Move Document and Preserve Version History – or the Nintex posts on my blog.
Click here to get your free trial of the entire Nintex Workflow Platform and get started designing your own workflows today!