of 39/39

SharePoint Workflow Best Practices

  • View

  • Download

Embed Size (px)

Text of SharePoint Workflow Best Practices

PowerPoint Presentation

SharePoint WorkflowBest Practices


About meVadim TabakmanLead Technical Evangelist, NintexOver 20 years consulting, development and corporate IT experienceEnd user advocate

IntroductionThere are more best practices and errors to avoidBased on real-world projectsAdvice applies to any workflow productNo demos

SharePoint Workflow and Multiple History Lists

Why Not One Workflow History List?History Lists are just SharePoint listsPerformance degradation with 2000-4000 itemsMultiple Workflows and One History ListGrows very quicklyMultiple Workflows and Multiple History ListsShares the load. Faster to access workflow history

Dont Always Use SharePoint Workflow

Good Uses of SharePoint WorkflowManaging how people workDocument approval & feedbackCollaborative reviews & discussionsGathering signatures

Good Uses of SharePoint WorkflowAutomating some of SharePoints behaviorApprove site creation requestsParse incoming email in a list and act on itPublishing items to targetMoving documents through lifecycles

Possible Uses of SharePoint WorkflowManipulating other applications, data sourcesEmployee onboardingResource schedulingSharePoint lists become work queues

Bad Uses of SharePoint WorkflowTransaction-oriented processesBlocking or modifying activityApplication-to-application service activityAggressive data transformationsWork that doesnt involve SharePoint at all

Plan to Fail

Consensus May Not ExistGet 3 employees and 1 manager togetherTalk about a processLittle agreementDocumentation disagreement, too

The Process Will Change

Exceptions are Initially IgnoredRarely is this considered in advanceRarely does everyone agreeIgnored exceptions lead to bypass

Initial Failure as a Winning StrategyPeople do not want to hear these hard truths.You may have to create an initial workflow just to show how awful a process is.Only then can you change it.

ProcessStepStepStepStart SimpleAutomatethisfirstAutomatetheselater

Focus on Everyday Process

Policy is the abdication of thought.-Nathan Myrvold

Everyday ProcessesSteal timeGet in the wayAnnoy users

Everyday ProcessesHave few stakeholders (even if many participants)Are easier to automateFree up time to focus on more critical stuff

Everyday ProcessesAutomating them trains users how to think

When to use a :List WorkflowSite WorkflowReusable Workflow Template

Reusability You should think about reusability firstSave yourself timeSave your colleagues timeSave your business time and moneyIs a List workflow the best solution for you?Its probably the quickest and easiest, but is it the best solution?

What if I cant do what I need to with the given actions?

Extensibility??? Web Service calls Call HTTP web service action21 web services, just from SharePoint itself3rd party LOB systems which have web services3rd party SharePoint solutions that exposes web servicesBuild Custom Web ServiceBuild Custom Actions

Put Forms in Their Proper Place

The Form is the User InterfaceNot the workflowNot the data

If (x and y) then do this do thatEnd if

If (user is Bob) then do this and that and the other thing undo thatEnd if

If (x and y) then do this do thatEnd if

If (x and y) then do this do thatEnd if

If (user is Bob) then do this and that and the other thing undo thatEnd if

If (x and y) then do this do thatEnd if

Form-Only App ProblemsHidden logicDisconnected logicSecurityComplexity without codeInheritance / Knowledge Transfer

PresentationProcessIntegrationThink About the Whole App

Make the Workflow Do the WorkDocumentedAuditableEasier to changeEasier to manage

One Form Per StepSubmitStartTask

Task FormsWorkflow can route new dataNew data can be written to original formAll info can be sent to other places

Self-Reporting Workflows

Least-Loved TechniquesBrowsing individual history entriesBuilding custom reports

Youre Already Using SharePointThe list itself can be the reportUsers can sort, group, filter on metadata (Leverage Views!)Write progress information to item propertiesStage Workflows already do this

SummaryDont always use SharePoint WorkflowPlan to failFocus on everyday processesIts not about formsSelf-reporting workflows