We’re finishing up a couple of deployments of Project Server 2010 wherein we did a number of custom workflows for the clients, and I thought I’d pass along some lessons we learned, some the hard way.
First, a bit of clarification: I’m talking about “Demand Management” workflows, not document approvals or anything else you might write for the SharePoint Foundation workspaces. Demand Management workflows leverage a number of configurable objects in Project Server 2010 – things like phases, stages, Enterprise Project Types, and Project Detail Pages.
- First lesson: There is documentation out there
We got a lot of help from the friendly folks at Microsoft when it came to documentation on customizing workflows. We needed it, as it was a bit of a hunt to find a centralized list of these documents. Here’s a stab at exactly that:
- Hitchhiker’s Guide to Demand Management – this is a great starting point. It’s a write-up by Steven Haden which is step-by-step through some of the samples included in the out of the box tool as well as the SDK.
- A Webcast of Steven’s presentation on the same material from the Project Conference
- TechNet library dedicated to Demand Management – some good Webcasts and Microsoft technical documentation on the functionality. A little more advanced help..
- MSDN content on Project Server workflows – good info to get developers up and running. Good info on setting up Visual Studio, and basic workflow development tips.
- Webcasts covering various topics in workflow development
- A catch-all blog post (updated in June) of content on Demand Management and workflows
- Second lesson: These are NOT your typical SharePoint workflows
There’s no GUI, no SharePoint Designer, nothing like that, in the out of the box tool. If you want to modify the workflow or create custom workflows, you are going the Visual Studio route, UNLESS you spring for a third party workflow tool. We wound up with the Nintex Workflow for Project Server 2010 tool.
Now, I don’t want to turn this into an unpaid plug for Nintex, but we did have a good experience with their product. You do have to buy and install the base Nintex Workflow for SharePoint tool before you can buy and install the Project Server component, and this stuff isn’t cheap (although “cheap” is, of course, entirely relative, esp when measured against development time).
While workflows are, by definition, pretty complex, and you should not underestimate either the topic or the tool, our experience is that a competent PMO process wonk can handle assembling fairly complex workflows in the Nintex tool with a little ramp-up time. This is obviously good news to PMO process wonks, as it makes process design and tool configuration sort of the same step.
- Some other notes on workflows:
We really liked the flexibility of Project Detail Pages (PDPs) and Workflow Stages. PDPs, while a little clunky to design and build, really are great for gathering the type of information most organizations currently find trapped in spreadsheets, Word docs, PowerPoint slides, etc.
The design of the Project Server workflow “engine” leaves a lot of room for what Microsoft likes to call “Partner Opportunities”. I think that’s the right decision, especially in these early stages of the product. Nintex, and the other tool vendors, bring a ton of background with SharePoint and workflow to the table. Their tools have been field tested extensively. And while the price tag for these tools is what it is, you do get bang for the buck.
Our overall impression of demand management is there is a ton of power here, and ton of organizational appeal. PMOs everywhere can use this functionality. If your organization has a project initiation and selection process today, and you find yourself being the middleware that turns Word docs and spreadsheets into Project Server information, look into demand management. If you’re just now getting a process sorted out, you can automate a great deal of it using Project Server 2010.