Your SlideShare is downloading. ×
0
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Workflow Systems: Myths, Truths and Wishful Thinking

1,578

Published on

IASA Denver Talk on Workflow Systems, September 2009

IASA Denver Talk on Workflow Systems, September 2009

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,578
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
55
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Workflow Systems<br />Myths, Truths and Wishful Thinking<br />Brandon Satrom<br />Chief Architect, Thought Ascent<br />brandon.satrom@thoughtascent.com<br />www.userinexperience.com<br />
  • 2. Copyright 2009, Thought Ascent, Inc<br />About Me - In Six Words<br />Opinionated Architect. <br />Often wrong. <br />Continually improving.<br />
  • 3. Long-time Microsoft developer<br />Former Enterprise Architect<br />Alt.Net guy, but still nice<br />President, IASA Austin<br />Copyright 2009, Thought Ascent, Inc<br />Worth mentioning?<br />
  • 4. Experience with vendor WF tools<br />Experience with BizTalk (2002+)<br />Recently built a successful production implementation using WF 3.5<br />See that “opinionated architect” comment.<br />Copyright 2009, Thought Ascent, Inc<br />What qualifies me to talk about Workflow…<br />
  • 5. Copyright 2009, Thought Ascent, Inc<br />So what is “Workflow” anyway?<br />
  • 6. Copyright 2009, Thought Ascent, Inc<br />A workflow is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work, segregated in workshare, work split or other types of ordering. For control purposes, workflow may be a view on real work under a chosen aspect, thus serving as a virtual representation of actual work. The flow being described often refers to a document that is being transferred from one step to another. <br />– from http://en.wikipedia.org/wiki/Workflow<br />
  • 7. Copyright 2009, Thought Ascent, Inc<br />How about something simpler?<br />
  • 8. The coordination of work in a “system”<br />Copyright 2009, Thought Ascent, Inc<br />
  • 9. Copyright 2009, Thought Ascent, Inc<br />Got it. So then what’s a “Workflow System?”<br />
  • 10. Perhaps…<br />An application that assists in the definition and/or execution and/or management of workflows<br />Copyright 2009, Thought Ascent, Inc<br />
  • 11. Copyright 2009, Thought Ascent, Inc<br />That sounds too similar to a “normal” system. What’s the difference?<br />
  • 12. How a workflow system differs from a traditional program<br />In theory, at least…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 13. Declarative<br />Copyright 2009, Thought Ascent, Inc<br />
  • 14. Persistent<br />Copyright 2009, Thought Ascent, Inc<br />External Stimulus<br />Persistence Store<br />
  • 15. Dynamic<br />Copyright 2009, Thought Ascent, Inc<br />Business Change<br />Activity F<br />Divert to new activity<br />
  • 16. Configurable<br />Copyright 2009, Thought Ascent, Inc<br />Activity D<br />Activity E<br />Rules Store<br />
  • 17. Centrally Defined…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 18. … though not necessarily visual.<br />Copyright 2009, Thought Ascent, Inc<br />static SessionSaga()<br />{<br /> Define(() =&amp;gt;<br /> {<br /> Initially(<br /> When(NewSession)<br /> .Then((saga, message) =&amp;gt; saga.NewSessionStarted(message))<br /> .TransitionTo(SessionActive)<br /> );<br /> During(SessionActive,<br /> When(FeedbackCheckRequested)<br /> .Then((saga, message) =&amp;gt; saga.CheckForFeedback(message))<br /> When(new Timer() <br /> .StartOn(session.Start)<br /> .RunAtInterval(session.CheckInterval)<br /> .Until(session.End))<br /> .Then((saga, message) =&amp;gt; saga.CheckForFeedback(message))<br /> When(SessionComplete)<br /> .Then((saga, message) =&amp;gt; saga.SessionEnded(message))<br /> .Complete()<br /> );<br /> });}<br />
  • 19. Copyright 2009, Thought Ascent, Inc<br />Ok, I get it. So why are we still doing this presentation?<br />
  • 20. Copyright 2009, Thought Ascent, Inc<br />Workflow has a PR problem…<br />
  • 21. Copyright 2009, Thought Ascent, Inc<br />There seem to be two sides…<br />
  • 22. Copyright 2009, Thought Ascent, Inc<br />…who can’t (or won’t) get along.<br />
  • 23. The “Workflow will Save us all” side<br />Copyright 2009, Thought Ascent, Inc<br />
  • 24. The “Run like you’re on fire” side<br />Copyright 2009, Thought Ascent, Inc<br />
  • 25. Copyright 2009, Thought Ascent, Inc<br />I’d like a third option please.<br />
  • 26. Copyright 2009, Thought Ascent, Inc<br />How about the best of both?<br />
  • 27. Consider both sides of the story…<br />
  • 28. And be a cautious optimist…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 29. There are reasons to get excited about Workflow…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 30. Copyright 2009, Thought Ascent, Inc<br />Visual, Visual, Visual<br />
  • 31. Copyright 2009, Thought Ascent, Inc<br />Clear expression of intent from domain experts…<br />
  • 32. Copyright 2009, Thought Ascent, Inc<br />The Next “Great Leap” in software<br />
  • 33. …and there are reasons to be wary…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 34. Steep-learning curves<br />Copyright 2009, Thought Ascent, Inc<br />
  • 35. Copyright 2009, Thought Ascent, Inc<br />Poor Performance<br />
  • 36. Copyright 2009, Thought Ascent, Inc<br />Sleights of hand and shell-games<br />
  • 37. Copyright 2009, Thought Ascent, Inc<br />Both sides are right …<br />Both sides are wrong…. <br />
  • 38. Copyright 2009, Thought Ascent, Inc<br />Right and wrong? How so?<br />
  • 39. Myths, Truths and Wishful Thinking<br />Copyright 2009, Thought Ascent, Inc<br />
  • 40. 1) Visual Workflow Tools are the only way to “do” Workflow<br />Copyright 2009, Thought Ascent, Inc<br />
  • 41. Myth<br />Copyright 2009, Thought Ascent, Inc<br />
  • 42. Is this really easier to comprehend…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 43. Than this?<br />require &amp;apos;rubygems&amp;apos; <br />require &amp;apos;statemachine&amp;apos; <br />vending_machine = Statemachine.build do <br /> state :waiting do <br /> event :dollar, :paid, :activate <br /> event :selection, :waiting <br />on_entry :sales_mode<br />on_exit :operation_mode<br /> end <br /> trans :paid, :selection, :waiting, :release trans :paid, :dollar, :paid, :refund <br /> context VendingMachineContext.new<br />end<br />Copyright 2009, Thought Ascent, Inc<br />
  • 44. The Truth<br />Many open-source “code-first” solutions offer most of the benefits of a workflow system without the steep learning curve.<br />Copyright 2009, Thought Ascent, Inc<br />
  • 45. Demo –Workflow with Mass Transit<br />Copyright 2009, Thought Ascent, Inc<br />
  • 46. 2) Workflow should be running all your application logic<br />Copyright 2009, Thought Ascent, Inc<br />
  • 47. Lie<br />Copyright 2009, Thought Ascent, Inc<br />
  • 48. Turn a simple flow…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 49. …into “Spaghetti Flow”<br />Copyright 2009, Thought Ascent, Inc<br />
  • 50. The Truth<br />Workflow systems can be a good choice for managing long-running, complex processes, but don’t yet perform well-enough to handle all your logic.<br />Copyright 2009, Thought Ascent, Inc<br />
  • 51. 3) Domain experts can (and should) easily change workflows at runtime<br />Copyright 2009, Thought Ascent, Inc<br />
  • 52. Copyright 2009, Thought Ascent, Inc<br />
  • 53. Wishful Thinking…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 54. The Truth<br />We don’t change systems at runtime without some diligence. So why would our users? <br />That said. There are models that are more illustrative of reality…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 55.
  • 56. 4) Declarative/Visual App Dev is easier than traditional dev…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 57. Half-Truth<br />Copyright 2009, Thought Ascent, Inc<br />
  • 58. The Truth<br />Where it’s easier:<br />OOB programming constructs (IF, While, etc)<br />Encourages/ Rewards SRP-development<br />Where it’s harder:<br />Visual IDEs slower than code IDEs<br />Testing is hard, if not impossible<br />Refactoring involves more rework than necessary<br />Copyright 2009, Thought Ascent, Inc<br />
  • 59. 5) “I can build a WF system in 100 lines of code”<br />Copyright 2009, Thought Ascent, Inc<br />
  • 60. Wishful Thinking…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 61. The Truth<br />Code-only solutions can address simple scenarios quickly…<br />But tend to unravel when persistence, durability, scale,timed-events, long-running processes, human workflow and other complex issues are introduced.<br />Copyright 2009, Thought Ascent, Inc<br />
  • 62. The Faceplant Application<br />“Social Speaking”<br />Demo:<br />Copyright 2009, Thought Ascent, Inc<br />
  • 63. Copyright 2009, Thought Ascent, Inc<br />Congratulations! You’ve done an excellent job of not telling me what I should do…<br />
  • 64. Open Discussion – When should a Workflow Tool be considered?<br />Copyright 2009, Thought Ascent, Inc<br />
  • 65. When does WF make sense?<br />…<br />Copyright 2009, Thought Ascent, Inc<br />
  • 66. Copyright 2009, Thought Ascent, Inc<br />I think it’s time for the bottom line…<br />
  • 67. There is no simple answer…<br />Only the right tool for the job<br />Copyright 2009, Thought Ascent, Inc<br />
  • 68. The Right Tool for The Job might be…<br />“Roll Your Own” Workflow<br />Use an open-source Bus<br />NServiceBus<br />Mass Transit<br />Simple ServiceBus<br />Use an open-source State management tool<br />Simple State Machine<br />Use Windows WF<br />After you’ve exhausted all other possibilities<br />Copyright 2009, Thought Ascent, Inc<br />
  • 69. Consider a “Workflow System” when:<br />Need a visual, changeable representation<br />Timed-events are key<br />Long-running:<br />Transactions<br />Conversations <br />Services<br />Many, complex processes <br />Economies of scale principle<br />Copyright 2009, Thought Ascent, Inc<br />
  • 70. Don’t start with a workflow system as a solution.<br />Get there by eliminating other options<br />Copyright 2009, Thought Ascent, Inc<br />
  • 71. And pay attention…<br />Software development is changing.<br />Copyright 2009, Thought Ascent, Inc<br />
  • 72. Questions?<br />brandon.satrom@thoughtascent.com<br />www.userinexperience.com<br />Twitter: @thesatch<br />Code and slides available at: <br />http://github.com/bsatrom/WorkflowSystems<br />Copyright 2009, Thought Ascent, Inc<br />
  • 73. Image Credits<br />WF System, InfoWorld<br />http://www.infoworld.com/d/developer-world/product-review-ultimus-jump-starts-bpm-deployment-546?page=0,1<br />Pinnochio – House of Sims, Flickr<br />http://www.flickr.com/photos/houseofsims/2662410465/<br />Myth – Mythbusters on Discovery<br />http://dsc.discovery.com/fansites/mythbusters/wallpaper/wallpaper.html<br />Steep Learning Curve – Casual Game Design<br />http://www.casualgamedesign.com/?p=27<br />Skeptic Guy – Flick<br />http://www.flickr.com/photos/mcleod/3909431214/in/set-72157607796029636<br />Copyright 2009, Thought Ascent, Inc<br />

×