Wednesday night was the symposium on workflow at the Microsoft Office Server Special Interest Group, otherwise known as MOSSIG.
Was a bunch of about 40 folk in attendance – with Subway mini-sub’s replacing the usual nerd-dinner of pizza. We all filed in to hear about Nintex workflow, K2, Skelta, SharePoint Designer and .NET workflow (Windows Workflow Foundation).
Tim Wragg was the “M.C.” for the night, inviting the vendors/experts to do a quick introduction and overview from each product.
Steve Heaney presented the Nintex product, which is a SharePoint integrated workflow tool. Using a web browser, the user can create workflows using pre-defined activities, with an intuitive and easy-to-use interface.
The main target audience is for business users, although there is extensibility capabilities using Visual Studio and .NET code (WF).
Next up was Vinay Joseph from SDM, showing the Skelta product. A quick demo-by-screenshot run-through showed the full BPM scale of the architecture. Able to run on SQL Server or Oracle, and rich activity monitoring and KPI-driven initiations, as well as business rules engine and workflow server.
Some detailed reporting also, and able to use work calendars, and load-balanced servers with the Advanced Server Edition.
Also uses a web-browser based process designer, although I couldn’t really follow the flow of the one shown, was using a swimlanes view of a process, not standard workflow “flow view”. I’m sure Skelta has a similar “flow” designer for processes, just didn’t see what it was like.
Jey Srikantha then showed us through the K2 product, covering the abilities to create workflows using either Microsoft Visio, Web browser, Visual Studio, or an office-style designer.
Then quick run over SmartObjects, process portals, workspace, event bus, and the community aspects to K2 – with the K2 Underground and Black Market. Looks like an enterprise scale capable product, with many, many pieces to the pie.
SharePoint Designer / Windows Workflow (WF)
Elaine Van Bergen then spoke about some tools that you may already have. Certainly most installations of SharePoint would be via some form of licensing that would provide for SharePoint Designer. A point and click designer, but from a Windows App this time.
There are a reasonable amount of functions available, but certain logic such as looping ain’t gonna work. Also, deployment to environments such as DEV, TEST, PROD is tricky too – and some security hiccups whereby the user that started the process is the permission set of the entire process lifetime.
However, it’s often a great choice for a quick & simple process, usually the first question is “can I do it in SharePoint Designer”.
If needing “full control”, you can have full reign to create workflows using Visual Studio, and the .NET Framework and Windows Workflow Foundation (WF).
This requires certain skills, as the code can be tricky – and it’s not so good if a business user wants to be able to maintain the process definition and business logic, or the activities and business process model need to change repeatedly (or rapidly).
If only needing to code it once and never touch it, then WF and .NET is a good option. And there’s lots of code out there, samples, snippets and so on.
But – if wanting to do any reporting, then you’d need to log data to a SQL Server database – using code, and then use Reporting Services to create some custom reports over the database.
So – that’s the FIVE of them (with Elaine covering two really).
Tim then invited all speakers to a sit up front, and begin the panel discussion proper.
Was a good feature/function-driven discussion, beginning with the value proposition that each offering brings to the table.
There are some topics below without an entry for certain product/offerings, doesn’t mean “no comply, senor”
Just that the conversation jumped around a lot (which is great) – and my notes are a bit scattered in parts (which is bad).
Value Proposition / Summary Statement
- Nintex – ease of setup/configuration/use
- K2 – start small, grow to enterprise/ fully extending MS stack
- Skelta – framework, embeddable, scalability, completely web based. Ease of use, minimised code / no-code
- SPD/WF – free – part of .NET framework. part of Microsoft license – already have in many organisations
If you throw back to a 101 thinking, what do you consider workflow to be, from the perspective of your product/offering ?? :
- Nintex – human oriented WF, but can automate process to do something when item is modified; end to end with no human interaction – eg. Cascading delete
- K2 – focus on business process, human or system involvement, work between participants & update backend systems, visually looking at current activity, implementing BPM & Reporting – to gain visibility on how to improve and ultimately save money
- SPD/WF – workflow definition the same “concepts”, more need to think back to WHO will be designing – business user might do in Visio/flowchart, but tricky to understand SPD or WF visually, when compared to screen shots of other (K2, Skelta, Nintex) – they actually look like a workflow (!). Thus, audience is mainly technical users, developers, etc.
The next topic for feedback was related to making dynamic changes to a process, such as when requirements change. One comment was related to “depends on WHO is making the change – sometime a user might change process to suit SPD, for example”.
So, some more thoughts regarding the “who” question with regard to workflow
- Nintex – business users – their salesman uses internally, created a workflow to follow leads, and create SharePoint sites on commencement.
- K2 – provides Visio designer for business users, or the web browser, and office-style tools, as well as developers within Visual Studio
- SPD/WF – would be developers mainly for .NET WF, and even SPD not so well suited for business user
Versioning of processes
- Nintex – integrated to XOML as with SharePoint Designer, will continue on old process / any new process will have the new version
- K2 – has workflow server can have multiple versions of workflow, with the ability to download the source code for processes from previous versions
- Skelta – has a listener to monitor workflows, handle change
- Nintex – can save process definition, and is saved within SharePoint
- K2 – works with TFS from within Visual Studio. Can open cross-designer files, between Visio, Visual Studio, web browser, office-style
- Skelta – saves in database as XML file, independent of SharePoint
- SPD – is within SharePoint, WF will be in Visual Studio + TFS
- Nintex – has some out of the box, but really just as a learning tool to help create a quick process
- K2 – can’t really “template” a business process, every organisation is different. Instead, have common building blocks (wizards), and other re-useable pieces like SmartObjects
- Nintex – can call other workflow pieces / web services
- K2 – inter process communication, web services to backend systems, can use SmartObjects, K2 connect for SAP, SharePoint search
- Nintex – can publish to another site, another server, but can’t assign to a particular ContentType
- K2 – uses MSBUILD packages which can be copied to another server, also environment library & configuration pages for security. Is able to assign to Content Types
- SPD – limitation of deployment to multi-server – DEV, TEST, PRODSPD – can’t do across every list
- Nintex – in SP Content Database
- K2 – different set of databases
- Skelta – other database also / Skelta advanced server failover cluster
- SPD/WF – SharePoint database also
Didn’t cover $ amounts, more of a discussion between licensed and “free” tools such as SPD/WF; false economy in that you have more developers or consultants, for a longer period of time & thus cost.
Of course, there may be already some developers in the organisation who can be tasked with such development, and thus would be a valid choice in this instance.
- Nintex – can code in WF, and use code samples from Microsoft community built custom activities. SDK pack available, and Nintex-Connect website for community input/response. Call BizTalk, wait for response
- SPD – can also be customised, uses same “coded in Visual Studio” .NET WF activities as for Nintex
- K2 – can create workflows in Visual Studio, and new ServiceObjects, EventBus, full K2 API, and portal site, with black market – components, wizards, templates, connect to SAP
- Skelta – out of box activities, server events, human workflow, connectors to SAP, Oracle, etc. API’s can be built / custom activities
- WF – anything that can be done in Visual Studio. Is a framework of code / classes / building blocks
Management of Workflows / Capacity Planning
- Nintex – reporting is coming soon, with avg, max, min, etc
- K2 – custom reports, report builder, simulations from historic data
- Skelta – can do KPIs/thresholds to start or react to a workflow
- Nintex – designed to very intuitive, more often business users need training in “identifying business problem”
- K2 – training can be a few hours to do initial processes, 3 day training course available
- Skelta – 7 day (!) training course for business users
By now, the session had moved into the question & discussion stages of the evening – with a few main topics as follows :
One question was asking “what if I use say, Nintex, and then outgrew, wouold I be stuck, could I upgrade ?”.
Well, no – not the specific code from one product to the other, but it would signal a need to maybe change your processes. If you outgrow the “tool”, you’ve most likely (also) outgrown the “process”.
Take the opportunity to review & analyse the process and design using some of the new features of the “upgraded-to” product. (Or – you simply chose the wrong product to begin with !?!)
With a process or workflow operating as the business layer for an application, what about the presentation layer, shown to users/participants – as opposed to the developers/creators of the workflow :
- Nintex – InfoPath forms (Forms Server), view flow in site. Can do “Lazy Approval” – reply via email with a Yes or No, for example
- Skelta – MSN messenger, can send approve, SMS reply
- K2 – InfoPath, WebForms, WebParts, Windows app’s also – multi-viewer technologies / presence based routing
Bear in mind that you need to be careful on mobile devices, don’t just show a mobile-ised version of a 60 field InfoPath form, for example !
Time To Market
This is another aspect, that I didn’t get time to ask about. I’d expect that Nintex is a very short production ready timeframe (probably under 10 minutes too).
K2 & Skelta look similar, with more hours & days required depending on customizations and integrations. And SPD would be a quick deploy & up-and-running.
The longest (by a decent amount) would be the WF custom coded option. Aside from the complex code that has to be written, as with any code, development & deployment – there will be a longer time to dev, test, etc.
Some great topics, not just to hear how the products stacked up, and their abilities, but some key workflow “concepts”, and even back to simple application analysis & design, architecture & infrastructure – and coding/development and deployment.
Like with any development project, there are options and better/best/not-so-good ways to do something – depending on the situation at hand.
With regard to workflow, there are considerations like :
- Which tool will meet the needs now, and future – as there’s no real upgrade path
- The “who” focus is key – who needs to update a process, may determine the tool choice also.
- The “when/how often” will/does the process change will also be a factor
These sorts of questions & answers will need some business analyst time to identify firstly the business environment – and then the tools at hand (as was covered during the panel session).
Thanks to all the presenter/panelee’s – and for Tim Wragg for deftly steering the discussion along.
Now that you’ve read all the way to the bottom (!), there are some downloads from the evening available.
There is the Workflow Panel Session PodCast of the entire sessions (40 MB – mp3 format), and you can grab the slide decks from Skelta, Nintex and K2.