The following areas are fundamental to any workflow solution:
- Documented processes. To define a workflow, a developer typically must have access to business process documentation such as an activity diagram and details on each process step such as inputs, outputs, and roles.
- Defined roles. To execute a workflow, business users typically must be placed in roles that are authorized to execute workflow steps.
- Organizational model. Roles fit into an organizational hierarchy, which is used to determine who has authority to monitor workflows and override decisions.
- Adherence to process. A workflow defined to support a documented business process is only effective if the business process is actually carried out as documented. Otherwise, the workflow solution will be a barrier to "how we really do things."
The following areas become more important as a workflow solution encompasses more business processes:
- Business process change management. Once business processes are supported by workflow, new governance processes may be needed to capture process changes, keep processes in sync with workflow definitions, and keep related workflows in sync. As more processes are automated, there will be more conflicts to resolve.
- Re-usable processes, rules, and roles. As the workflow solution grows to support more business processes, it becomes more important to define sequences that can be initiated or re-used in other workflows, rules that can be applied across workflows, and roles that can be assigned permissions across workflows.
- Uniform processes. Processes that take place with many variations in different parts of the organization will take longer to model and implement in workflow.
- Formalized business rules. A possible benefit of a workflow solution is to reduce the number of people involved in decision-making each time a business process executes. To get this benefit, business rules must be deterministic so they can be "coded" in workflow.
- Skilled resources. It takes specific skills to analyze and document a business process to be automated, and additional skills to design a workflow definition to most effectively support the business process. As the scope of the workflow solution grows, these skills should exist not just in IT but also in business units.
The following areas become more important as a workflow solution grows in scale and integrates with other systems:
- Enterprise authorization. As the workflow system integrates with more other system, there is increased pressure to centrally manage groups and roles for consistent authorization across systems -- both for security and for efficient provisioning. (Conceptually, the enterprise authorization problem exists even for business processes that aren't in any workflow solution, but it's brought to the fore by enterprise workflow.)
- Integration of systems. As the workflow system integrates with more other systems, more resources are required to carry out integration, messaging, orchestration, etc. If the workflow system acts as a "hub" among systems, this progression may be linear, but if there is a "web" of interactions between services, it may not.