Advanced Workflow Design: 5 Best Practices
Smart workflow design is essential to getting the most out of adopting Rampiva Automate.
Out of the box, Rampiva creates huge productivity and capacity gains by creating a 24/7 processing queue, eliminating latency between systems, and freeing people from button clicking so they can focus on other projects.
In Rampiva’s experience, once people have a stable and functioning automated process, they start thinking about improving that process. They add steps, build conditional logic, and customize output—all while looking for similar processes that can also be automated.
Pretty quickly, teams find themselves updating or customizing that basic workflow. This process can be interesting and can benefit from forethought, good habits, and some strategy.
Our Head of Client Success, Ryan Best, hosted a webinar to discuss this and shares his thoughts below. Read what Ryan believes are the 5 best practices everyone should keep in mind when they start getting into advanced workflow design
Understand the Business Need and Stay Within Scope
Rampiva workflow design is an ongoing process. Unlike updating a manual process, updating a Rampiva workflow can add immediate value to the business. When designing a new workflow, take time to plan. Identify the resources it will require to function properly, along with the compute resources and storage locations that will be utilized. Next, listen to the business user’s needs and identify wants versus must-haves. This will help deliver an early version of the workflow to begin testing. Then, plan for and add functions incrementally. You will be adding functionality as you go, one at a time. Be sure to test your workflow with a meaningful data set. Try to be representative of what the workflow will process. This will help you identify oddities or abnormalities in the workflow output.
Organize and Audit your Workflow Library
When updating your workflows, use a versioning schema that makes sense to your team. I prefer the “Major.Minor” versioning method. For example, Rampiva_eDiscovery_with Analysis_v1.6, with 1 being the Major version and .6 being the Minor. I update the workflow’s Major version for function additions, like Keyword Searching, Search & Tag or Digest List Deduplication; I also increment the Major version when adding new source locations or export endpoints. Then, I update the Minor version when updating, adding, or changing the scope of the existing function set.
Rampiva Workflow Designer has a built-in workflow compare functionality that I use as my workflow changelog. It builds an HTML file to visually display the differences between two workflows.rfn files.
When organizing my workflows, I delete the legacy and deprecated workflows from the Rampiva Automate Libraries and upload the new versions. I also centrally store all my workflows in one network location where I can easily share and retrieve them for additional design and upgrading.
When adding workflows to Rampiva Automate Libraries, pick a method of naming the library that suits your business need. If your workflows are designed for each project by use case, then name Libraries for the use case. Libraries can also be named by Client, Matter, region, or any other detail that is meaningful to the business need. Lastly, keep production workflows separate from test/sandbox workflows and only provide Security Policy access to the sandbox library for qualified workflow designers/SMEs.
Standardize and Re-Use
It has been my experience that most workflows that center around Nuix processing can all use the same underlying operational components, which are essentially the System and User parameters. Once you’ve established a working set of System and User parameters, along with a base workflow, you’ll be adding functionality with ease. Keeping things organized and versioned properly also helps ensure you are working with the most up-to-date version of your workflows.
Use the System to your Advantage
As workflows become more complex, inherently, that means more things can go wrong. Workflows become precision instruments designed for a specific outcome. Many components, such as locations, credentials, and profile names, need to be perfectly input to ensure the outcome is correct. Rampiva Automate has several quality-of-life features that help workflow designers iterate through and test their workflows. My favorite is the ability to update a workflow while starting a Job. I also use the built-in text highlighting in Rampiva to help me see critical information in my workflow. Lastly, the verbose and easy-to-understand logging makes troubleshooting fast and easy.
Simplify the User Experience
Rampiva’s interface is designed to be simple to use and understand. The simple interface allows the workflow designer a natural technical boundary with which they can deliver functionality and output. This should also apply to the user experience when starting and running jobs. Users should only be asked to input variables, while system constants are baked into the underlying workflow.
When workflows do require user input, consider how users will input the information. Remember that one of the primary objectives of automation is limiting user mistakes. Limiting typed user inputs and giving users easy-to-understand dropdowns and selections to drive workflow functionality, is key. Additionally, when user inputs are required, order the inputs logically and relative to the position that they will execute in the workflow. Lastly, pre-populate default values and provide user guidance with helpful parameter descriptions.
If you missed the webinar and want to learn more about these and other Rampiva workflow design best practices, check it out below.
Keep Automating, my friends!