Workflow Best Practices (and Mistakes to Avoid) Mike Fitzmaurice VP – Workflow Technology
Who am I? Original SharePoint evangelist 11 years at Microsoft 8 years at Nintex Working with workflow solutions for over 25 years Past lives in development, IT, R&D, power usage
Focus on Everyday Processes
Handle returns from our Retail Stores. I need to simplify Internal Procurement. Streamline cross-product Sales and Marketing lead processing. Automate Loan Approvals.
What is my Job Task? Can you approve this Equipment Purchase? I need this Expense Report approved. Can you approve my Vacation Request? I need to Onboard a New Employee. Please Review this Document ASAP. Route tasks to Launch the New Product 3 rd party vendor needs a New Account to collaborate. Submit that Service Request Form remotely. Who is on point to finish the Campaign Materials? How is that Sales Proposal coming together? Route tasks to Launch the New Product Here’s some Social Content to publish.
What is my Job Task? Can you approve this Equipment Purchase? I need this Expense Report approved. Can you approve my Vacation Request? I need to Onboard a New Employee. Please Review this Document ASAP. Route tasks to Launch the New Product 3 rd party vendor needs a New Account to collaborate. Submit that Service Request Form remotely. Who is on point to finish the Campaign Materials? How is that Sales Proposal coming together? Route tasks to Launch the New Product Here’s some Social Content to publish.
Everyday Processes Steal time Get in the way Annoy users Attract mistakes
What is my Job Task? Can you approve this Equipment Purchase? I need this Expense Report approved. Can you approve my Vacation Request? I need to Onboard a New Employee. Please Review this Document ASAP. Route tasks to Launch the New Product 3 rd party vendor needs a New Account to collaborate. Submit that Service Request Form remotely. Who is on point to finish the Campaign Materials? How is that Sales Proposal coming together? Route tasks to Launch the New Product Here’s some Social Content to publish.
What is my Job Task? Can you approve this Equipment Purchase? I need this Expense Report approved. Can you approve my Vacation Request? I need to Onboard a New Employee. Please Review this Document ASAP. Route tasks to Launch the New Product 3 rd party vendor needs a New Account to collaborate. Submit that Service Request Form remotely. Who is on point to finish the Campaign Materials? How is that Sales Proposal coming together? Route tasks to Launch the New Product Here’s some Social Content to publish.
Everyday Processes Have few stakeholders (even if many participants) Are easier to automate Free up time to focus Teach users how to think
Failure
Consensus Probably Doesn’t Exist
The Process Will Change
Exceptions Will Be Ignored
Initial Failure as a Winning Strategy Create an initial workflow just to show how awful (or incomplete) a process is. Only then can you change it.
Process Step Start Simple Automate this first Automate these later
Review. Revise. Repeat.
Stages are Your Friend
Sequential workflows get messy – quickly
Example: Press Release Author Management Legal Publisher
You may think it looks like this… Start Publisher deploys to public web site End Manage r approve s Yes No Lawyer Approv es Yes No
Or perhaps this… Start Publisher deploys to public web site End Author Revis es Yes No Manage r Approv es Yes No Lawyer Approv es Yes No
We can make it messier… Professional editorial review Lawyer with question for management
How About This Instead? AuthorManagerLegalPublisher
How About This Instead? (re) Submit? Author EndManager OK? Manager AuthorLegal Choice Legal AuthorManagerPublish Publisher Manager Publisher
Easy User Participation
Who Understands All of This? Start Publisher deploys to public web site End Author Revis es Yes No Manage r Approv es Yes No Lawyer Approv es Yes No
Who understands this part? This person. (re) Submit? Manager AuthorLegal
Who understands this part? This person. (re) Submit? Author EndManager
Easy to adjust
How About This? (re) Submit? Author EndManager OK? Manager AuthorLegal Choice Legal Author Publisher Manager Publisher End Publisher
How About This? (re) Submit? Author EndManager OK? Manager AuthorLegal Choice Legal Author Publisher Manager Publisher End Publisher (re) Submit? Editor AuthorManager Editor
Easy to restore
The alternative is yucky
Use Forms and Workflow Together
Worst Example: Form-Only App
If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if
If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if
If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if
If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if If (x and y) then do this do that End if If (user is Bob) then do this and that and the other thing undo that End if If (x and y) then do this do that End if
Form-Only App Problems Logic either hidden or disconnected Security Complexity without code
Process Logic Presentation Logic
Three-Tier Solutions
Presentation Process Data
All forms have processes
Better Example: Workflow on a Form
Problems That Remain Form rules still needed Form & workflow must be kept in sync Workflow has many extra steps
This is not 1 form with 31 pages
This is 1 workflow with 8 forms for 3 people
Best Example: Workflow with Multiple Forms
One Form Per Step Content Submit (list item or form library) Workflow Start (manually-executed workflows only) Workflow Task
Task Forms Workflow can route data to tasks Forms contain exactly what’s needed Securable to specific users Can combine with structured document
Why this is good Forms stay simple Forms are specific to tasks Workflow is simpler Data can live anywhere Easier to secure It doesn’t fight the platform
Workflow is Not Access
Master/Detail Forms
Master-Detail
Problems with Master-Detail No two-phase commit No set integrity
Presentation Logic Data Access Logic Process Logic
Use a Repeating Section with a Workflow
Don’t Forget to Measure
Least-Loved Techniques Browsing individual history entries Building custom reports
You’re Already Using SharePoint The list itself can be the report Users can sort, group, filter on metadata Write progress information to item properties Stage Workflows already do this
Know When to Use SharePoint Workflow (and Which One)
Good Uses of SharePoint Workflow Managing how people work Document approval & feedback Collaborative reviews & discussions Gathering signatures
Good Uses of SharePoint Workflow Automating some of SharePoint’s behavior Approve site creation requests Parse incoming in a list and act on it Publishing items to target Moving project proposals through lifecycles
Possible Uses of SharePoint Workflow Manipulating other applications, data sources Employee onboarding Resource scheduling SharePoint lists become work queues
Bad Uses of SharePoint Workflow Transaction-oriented processes Blocking or modifying activity Application-to-application service activity Aggressive data transformations Work that doesn’t involve SharePoint at all
“Form” can mean many things…
Structured Documents Coupled to data Contains data Records scenarios Eden Stafford Sales Pens 3.00 > Pencils 1.00 > Paper >
Data UI Coupled to data Connected to data source View/edit scenarios
Solution UI Decoupled from data Data packaged, parsed Task scenarios
Standalone App Form holds data Form holds process Form holds everything
Recap Everyday processes matter, too Failure is good Stages are practical Use forms and workflow together Workflow is not Access Don’t forget to measure Think about whether SharePoint workflow is the right tool “Form” is not a single concept
Thanks!