Designing business workflows can be a daunting task. There are usually several ways to create each workflow (like there are several ways to skin a cat!), and sometimes looking at a set of guidelines can help. Here are some best practices when designing business workflows:
Enabling Informed Decisions
To make the right decision, you need the right information. Similarly, when a user receives a process task, it's important to supply him with the relevant information so that he can make an informed decision. When designing a task, strive to include the following in the message body or in the form itself:
· Instructions about the actions needed to complete the task.
· Relevant data about the task, such as data from previous forms, system data, or content files.
· A link to source files related to the task.
· A checklist of actions to be completed.
· Process history.
Giving the task recipient access to this information will assist him in coming to the right decision and play an integral role in the process's success. This article gives some more details on how workflows assist users to make informed decisions.
Sub workflows neatly encapsulate entire processes, making for modular, reusable design. If that's the case, why not use them more extensively? One reason is that too much subflow usage hides the logic from the main flow, making the full process less visible and harder to understand. This can make your process harder to maintain and optimize. Also, subflows can complicate process execution. For example, statistics and monitoring performed on the main flow are not automatically applied to the subflow. Use subflows as a type of "black box" process part, when the inner workings of the part are not necessary for understanding or maintaining the main flow. Take time to weigh the benefits of reuse and encapsulation against the drawbacks of complex execution. Not all workflow solutions enable subflows. One example of one which does is Workflow Software By PNMsoft (click here to see this example).
Often, during an approval process, the flow enters a loop. This can happen, for example, when one manager in the chain of approval declines to approve a request, and sends the request backward in the chain of approval. Then it becomes hard for users to determine where the process stands and what needs to be done next. The process tree itself can become confusing. Instead, in cases where a form is declined, consider routing the flow back to the originator of the form and giving him the option of starting a new process. The new process can even include data from the original process. Starting a fresh process will make it easier for users to understand where each process stands in the flow. This post includes an example of a Workflow Loop within SharePoint.
Keep the End User in Mind
When designing your workflow, you often lose sight of a key stakeholder – the end user. Always keep the end user experience in mind, especially when designing forms. Ask yourself the following questions: Is the flow of the form logical? Are the controls appropriate for the user's needs? Can I help the user with default values such as date or user name? Use proper tab order so that the user can easily navigate the fields, and insert helpful comments where the fields or flow are not self-explanatory. By keeping the end user in mind, you will add much value to your business processes. See an exampleof workflows with multiple end user features.