This article takes a service delivery examination concerning workflow provisions around SharePoint, Office365, Windows Azure to help you understand the implications there are for organisations needing to improve business process automation, collaboration and productivity through workflow adoption.
SharePoint has through most of its versions provided workflow systems, but can they stack up as future technologies grasp the cloud? How could organizations benefit from the available features? What should organizations do to choose the correct workflow solution to meet their needs?
Introduction
Total automation of business processes is practically unachievable without considering human interaction. This is a factor that is tied to many aspects of process automation and integration. Human interaction is present in some of the most common business processes, like order approvals and human resources management.
SharePoint is by definition a collaborative platform with integration to external systems. There will be ongoing requirements for that platform to provide systems (known as workflow) to solve collaborative and information and technical challenges around human interaction issues, and to enhance user productivity. SharePoint provides frameworks for workflow provision; present in SharePoint on-premise, SharePoint Online Dedicated and in Office365. This article will explore the main components that are present in those platforms, comparisons, high level features and benefits. This article will also assess the current perspectives around the provision of Workflow and top level impacts.
Workflow – The Business Process Automated
Key to solving collaborative and information challenges in organization is business process automation. This is the ability for the business to improve productivity of their users by providing methods to aid with day-to-day functions with little or no human intervention; in order to increase user productivity and decrease inefficiency. Content management systems all include workflow systems and plugins, which is used to support communication between people and systems. These workflow systems generally carry out these through the automation of a business process tied to content stored in content management systems.
To accomplish this, the workflow system will need to provide basic functions like task assignment, identity management, notifications, tracking and inter-operation. SharePoint provides workflow systems to solve these collaborative and information challenges.
However, before diving into the features of workflow systems available in SharePoint on-premise, SharePoint Dedicated Online, Office365 or Windows Azure, there needs to be clarification concerning the purpose of workflow and involvement. Additionally, there needs to be clarification on the main components in the relevant workflow architecture.
Developing workflows
Having workflow features and using them correctly are two very different things. A mind-set is needed to achieve successful use of workflows. This mind-set would, before actually choosing any workflow solution, identify the type of workflow to use, the template to be assigned and the customization level requirements (if any), people involved, the objective, security, the various states that need to be achieved, and notifications to inform of progress. Presumably, organisations would adopt this mind-set in order to choose the workflow solution to match their requirements. However, there are further considerations such as the flow of the business process and then mapping the relevant options within SharePoint to that flow.
Types of workflow
The aspect of the business process to automate is defined as a workflow. A workflow is a template, which contains task components. Tasks are the main communication unit between business processes and people. Typically, a task is assigned to a user who needs to perform a related action. Normally a user has to perform a series of tasks that a grouped semantically. As part of the business process, the task is assigned to a group of users acting on the same task. The workflow system (which utilizes a key component known as the task management service), manages the business process to get the status update of the task.
To understand more about the task management service in the context of workflow, and circumstances in which they are used, we need to examine two types of workflow solution – Serial, and Parallel.
Serial workflow
The serial (also known as sequential) workflow represents a scenario in which a task must be completed by a set of users. This solution has interactions:
- Interact with the task management service to configure tasks and set appropriate rules
- Define the sequence of users that should act on the task
- First user will claim the task, and upon completion the task management service will route the task to the next user in the group
Parallel workflow
A parallel workflow represents the scenario in which a task must be completed by different users at the same time. Each approver can add comments and attachments that are independent of the others. For implementation this has interactions:
- Interact with the task management service to configure tasks and set appropriate rules
- Define the sequence of users that should act on the task
- The task management service routes the task to all relevant users
- The task management service will complete only when all users are finished acting on the task
Segments of the Analysis
The analysis will cover the options for SharePoint on-premise, SharePoint Dedicated through Office365, and options for Hybrid (workflow creation from on-premise that also operate in cloud services). Additionally, tools used to create workflows will be referred to in the analysis as well as third party products in the SharePoint workflow arena.
Options for SharePoint on-premise
In SharePoint 2003, there was no workflow platform. This changed when SharePoint 2007 came onto the horizon, with the addition of the Windows Workflow Foundation platform. This is a development platform that allows the provisioned workflow templates in SharePoint to be extended and customized. When SharePoint 2010 arrived, so did improvements to the workflow system. This included improvements to workflow design with the arrival of Microsoft Visual Studio including ‘workflow projects’ so that developers could directly create workflows for deployment. SharePoint Designer 2010 came on steam around the same time providing a workflow design, and the ability to edit SharePoint 2010 workflows. SharePoint 2013 workflow architecture was redesigned to meet performance, availability and flexibility of workflows on the platform. This workflow architecture, now known as Windows Workflow Foundation 4, is available with SharePoint Server 2013.
SharePoint carries workflow features that are generally based around specific documents or list items, however, they can represent larger human-based processes and actions through customization and development. Specifically:
- SharePoint workflows are specific to users defined against the SharePoint platform. Workflows require users or groups for specific activities and tasks are created for those users.
- SharePoint workflows are serial or parallel by nature; that is, the ability for users to participate one at a time, or multiple users at a given stage and in an undefined order.
- SharePoint workflows are varied in nature and templates are provided that can be configured to suit the organizational process, and they can be associated directly to document libraries or lists. Workflow templates include common activities related to content approval, feedback or collecting signatures.
- SharePoint workflows can be created using a number of tools such as Microsoft Visio, Microsoft Visual Studio, or SharePoint Designer. Note that Microsoft InfoPath=, used for forms development in SharePoint 2010 and prior, is being phased out. Suggested route for forms development using Microsoft tools is Microsoft Visio (or development through Microsoft Visual Studio).
- The following section goes describes the objectives the available workflow templates and options in building workflows.
Templates
The following describes a list of templates available in SharePoint on-premise.
Collect Feedback
- Examine interpretations on documents. Reviewers can provide feedback, which is compiled and sent to the document owner when the workflow has completed.
Collect Signatures
- Sign off document or request
- Works with Microsoft Applications only
- Utilises Digital Signatures
Approval
- Obtain approvals on documents from colleagues or superiors
- Assign for approval document marked pending until approved
Transition Management
- Task management concerning the translation of documents and content into other languages. Manages document translation by creating copies of the document to be translated and assigning translation tasks to translators. Is not available for SharePoint 2013
Disposition Approval
- Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents.
Three State
- Track the status of a list item through three states (phases). It can be used to manage business processes that require organisations to track a high volume of issues or items, such as customer support issues, sales leads, or project tasks. For example, the three states for a project task could be, Not Started, In Progress, and Finished
Custom Workflows using SharePoint Designer and Microsoft Visual Studio
Workflows can be created and edited in SharePoint Designer 2013. Additionally, if there are legacy SharePoint 2010 workflows that are needed to be reused in SharePoint 2013, the SharePoint Workflow Interop functionality can be utilized. This enables SharePoint 2010 workflows to work with the SharePoint 2013 workflow engine based on Windows Workflow Foundation 4.
Platform Type options
- SharePoint 2010 workflow requires Windows Workflow Foundation 3
- Workflows are installed automatically with SharePoint 2013
- SharePoint 2013 workflow requires Windows Workflow Foundation 4
- SharePoint 2013 must be installed, Workflow Manager is not installed automatically and must be in order for SharePoint 2013 workflows to be available
- SharePoint 2013 with Project Server requires Windows Workflow Foundation 4
- Must be used with SharePoint 2013, Workflow Manager and Project Server 2013. Project server workflows will not function without these in place
- SharePoint 2013 with SAP requires Windows Workflow Foundation 4
- Must be used with SharePoint 2013, Workflow Manager and SAP. SharePoint 2013 SAP workflows will not function without these in place
Options for SharePoint Dedicated Online through Office365
With SharePoint Server 2010, and with SharePoint Online for Office 365 for enterprises, all five of the following workflow types are included. With SharePoint Online for Office 365 for small businesses and professionals, however, only the Three-state workflow type is included.
Templates
In Office365, templates from SharePoint On-Premise are available, but when activated are shown as SharePoint 2010 workflows or will only be available if Microsoft Project Server is implemented.
- SharePoint 2010 ‘displayed’
- Built in workflow core group
- Aggregated set of out-of-box workflow features provided by SharePoint; Approval, Collect Feedback and Collect Signatures
- These workflows defined as SharePoint 2010 Workflows
- Disposition Approval
- Same as the Three State on-premise SharePoint workflow template
- Three-state
- Same as the Three State on-premise SharePoint workflow template
- Publishing Approval
- Built in workflow that routes a page for approval (appears for Portal type SharePoint sites). Approvers can approve or reject the page, reassign the approval task, or request changes to the page. This workflow can be edited in SharePoint Designer.
- Sample Proposal – Project Server Only
- A special type of workflow only available for Project Server and bound to the Project Server Approval Content Type
- Project Server Approval Content Type feature – content type is used by the Project Server Approval workflow.
- SharePoint 2007 Workflows
- Aggregated set of out-of-box workflow features provided by SharePoint 2007 for backward compatibility
- Requires extra configuration work to be visible to end users
Custom Workflows using SharePoint Designer
Can be created but workflows will be displayed as SharePoint 2010 compliant. Can only be deployed as a sandbox solution, not as an App
Custom Workflows using Microsoft Visual Studio
Can be used in combination with workflows implemented in Office365 or created as an App
Options for going Hybrid
Options for Hybrid concerns workflows which covers the boundary of SharePoint 2013 on-premise to Microsoft Windows Azure which can then be utilized in Office365. Examples of these workflows is where, for example, human interaction processes in on-premise SharePoint services needs to be exposed in a cloud service. Examples of these could be where, for example, a document needs to be ‘copied’ from a SharePoint internal service into an Office365 site and where partners using an Office365 site need to be alerted. As mentioned in the ‘Options for SharePoint on-premise’ section, the Workflow Manager is an Windows Azure-based component, a multi-tenant host for running and managing workflows, supporting high scale and high density execution. The service builds on the workflow programming model, runtime and activity library in the .NET framework. This framework is used to communicate with cloud services. To do this, custom code using Microsoft Visual Studio needs to be crafted, packaged and deployed.
Workflow Manager is key
Workflows that are harvested in Workflow Manager do not have to run in the SharePoint 2013 farm. Separated servers can be used and this allows Workflow Manager to support multiple platforms such Office365, SharePoint 2013, SharePoint Dedicated Online and Windows Azure. Workflow Manager can be co-located with SharePoint, or provisioned on its own server group. This product is backward compatible with SharePoint 2010 workflows.
Publish to Azure
Workflows created using Windows Workflow Foundation 4 can be hosted in Windows Azure in one of three roles; a Web Role, Worker Role and a Hybrid Role. To do this, Microsoft Visual Studio 2013 Cloud Projects would have to be created with a service web role associated to the workflow project. Once done, the workflow can be published to Azure. Note that a hybrid approach will utilize on-premise components such as services (SharePoint and other), data stores and business processes.
Tools that can be used
- SharePoint Designer 2013
- Microsoft Visio 2013
- Microsoft Visual Studio 2013
Options from Third Parties
As the organization engages with SharePoint, there will be For example, a person in charge of an IT university department has not handed expenses in for six months. To solve this, he would need to find a way to submit those expenses, get the head of department to approve them, and then HR receives the approval, and then Finance pays the expenses. There are several people who would need to approve / reject – additionally, this process would have to deal with the outcomes of approval or rejection. The department does not have in place a development team. Clearly, the built-in options are not applicable neither is the option to custom develop a workflow.
Nintex and K2, two leading workflow solutions, addresses the need for the information worker to craft workflow solutions without having to be a developer. Users can create their own template or add to existing templates. There is a workflow designer that allows the users to drag and drop workflow components negating the requirement for writing code. K2 additionally provides Forms builder to create associated form entry dialogs, whereas Nintex comes standard only with Workflow; there is a forms builder but that must be purchased separately.
Both products are available for SharePoint 2010, 2013 on-premise as well as an App for Office365 and mobile devices.
Nintex and K2 comes packaged with many standard templates. For Nintex, for example, there are five categories covering Business Management / Finance, Human Resources, Operations and IT, Project Tracking / Product Management and Sales / Marketing.
Additionally, integration with other components integrated into SharePoint is important. For example, Nintex workflow has components to connect into a variety of third party tools, such as ARX Co-Sign digital signatures and PDF ShareForm form designer. They both also integrate with other content systems; such as Microsoft Dynamics CRM or SAP.
With any third party functionality, key aspects concerning performance, support, sustainability and availability of the third party company comes into question, including relationships and the popularity of the workflow tool.
Strengths
Based on the analysis section, the following are strengths of SharePoint workflow taking into considerations all version of SharePoint including third party workflow solutions that work with SharePoint.
Configuration of SharePoint built in Workflows
- Easy to implement
- Business users can setup their own basic workflows
- Workflows can be associated with web sites (Site Workflow)
SharePoint Designer Workflows
- Basic workflows can be implemented by trained power users
- Relatively quick to implement for low complexity workflows
Custom Code Workflows using Visual Studio
- Based on Windows Workflow Foundation
- Supports sequential and state machine workflows
- Workflow forms can be generated using Microsoft Visual Studio
- Deployable to different environments using SharePoint solution and feature framework
- Fully customizable
- Hybrid workflows can be monitored using IIS Dashboard
Workflow Manager for Cloud
- Ability to scale the SharePoint farm without impact to the Workflow Management system
- Ability to connect to other systems and data sources
- Ability to connect to Windows Azure and Office365
- Separated business continuity and disaster recovery
Third Party Workflow products
- Requires minimal effort to implement
- Provides publishing new version of workflows whilst earlier versions continue to operate
- Allows cleaner auditing without relying on SharePoint built-in timer
- User experienced enhanced and closer to information worker realization
- Re-use of components and easier to deploy across team sites
- Savings in support, maintenance and enhancements
- Workflow products available in Office365 and for mobile devices
- Little need to develop the underlying network infrastructure
- Readily expandable to meet immediate business requirements
Other
- Workflows forms can be developed using Microsoft Visio
Weaknesses
Based on the analysis section, the following are strengths of SharePoint workflow taking into considerations all version of SharePoint including third party workflow solutions that work with SharePoint.
Configuration of built in Workflows
- Limited configuration options
- Basic workflows available
- User experience is limited
SharePoint Designer Workflows
- No source control
- Deployment to other environments difficult
- Sequential workflows only
Custom Code Workflows
- Steep learning curve
- Lack of good documentation and tools for debugging and diagnostics
- Package needs to be created for workflow changes
- High implementation and maintenance costs
- Hybrid workflows will be more complex and will incur bandwidth costs
Workflow Manager
- Infrastructure costs to provide platform
- Skills required to implement and support
Third Party
- No standards yet developed specifically for third party workflow development
- Security and rigid processes may be an issue
- Skills required to implement and support are high
- Requires good third party support availability
- Clarity required on the Workflow engine being used requires addressing
Guidance
Workflow involves the various tasks that employees must complete on a business activity, and these tasks often occur in a specific order. A workflow could be something completely non-technical, such as feeding a horse; however, it usually involves some level of interaction with technology mixed with human activity.
Whilst SharePoint workflows are based on content (for example, a document), it is important to remember that the actual document may be representative of a larger human based process, such as applying for a job, or requesting vacation time.
Hence, delivery of a SharePoint workflow solution is based on the imperative of the user productivity – to fulfil a discreet challenge; to automate a process within a specific business function or unit. To information workers, whether this is surfaced in SharePoint on-premise, or SharePoint dedicated, is irrelevant since to them, their content automation is important, irrespective of the solution provisioned.
And this is where the conundrum lies. Due to the emergence of Office365, and the lowered aspects of control from Infrastructure teams when dealing with Office365, combined with the reality that developer tools are needed to create workflows beyond the built-in basic workflows in Office365, deciding what workflow solution is best will vex decision makers and solution architects. Additionally, other content management systems, open source provisioned, already have workflow plugins – that affects the business perception of what is available, how quickly, and gives pause-for-thought concerning cost.
For those organisations already using Nintex or K2 for SharePoint on-premise, the availability of these products within Office365 as subscribed ‘apps’ makes things easier when coming to the decision of how to utilize workflows in Office365 without having to content with user experience issues, for example. That said, the organization would still be locked into a vendor, which needs to be reviewed concerning supportability, availability and cost.
Due to the varied options presented in this analysis, there is no single best workflow feature that should be adopted, as the best feature depends very much on the actual business requirement. The features provided through using built-in, custom or third party support have varying levels of structure, support, and infrastructure requirements. The culture of the organization concerning configuration management, rigidity, budget and work processes is also a major factor.
In any case, key guidance points for organisations based on the analysis are:
Measure the Cost versus Value in building workflows
Organisations considering process automation workflows in SharePoint should factor the required resources both human and technical, man-hours including start-up and ongoing costs. This needs to be value-managed against what kind of workflow solution is going to be created, the life-time of that product including ongoing support requirements.
Evaluate development practice and review managed services
Organisations considering custom development using workflow programming and design tools such as Microsoft Visual Studio, and/or Microsoft Visio and SharePoint Designer should ensure that a software management standard is in place and being adhered to. This needs to be consistent and continually map into manageable solutions for all custom development requirements. If there is complexity and the cost justified, organizations should consider utilizing the services of a third party development group. This group should work as an extension to the existing development team or as a dedicated Microsoft Technologies expert. Throughout this organizations must be mindful of continued cost, time-constraints, and project management constraints throughout the lifecycle of the relevant workflow solution.
Identify the workflow roadmap; link the workflow roadmap to IT governance, and organizational content management strategy
Any workflow solution requires a full identification of organization’s requirements that map into the workflow solution which covers all configuration management constraints. There needs to be a roadmap which links the workflow to associated processes, rules and governance. Organisations must provide detailed planning and estimations on any and all custom applications that are needed. This is to ensure that the workflow maps to the organisation’s needs, and that the workflow solution is both cost effective and robust.