Workflow Systems: Myths, Truths and Wishful Thinking

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Workflow Systems: Myths, Truths and Wishful Thinking - Presentation Transcript

    1. Workflow Systems
      Myths, Truths and Wishful Thinking
      Brandon Satrom
      Chief Architect, Thought Ascent
      brandon.satrom@thoughtascent.com
      www.userinexperience.com
    2. Copyright 2009, Thought Ascent, Inc
      About Me - In Six Words
      Opinionated Architect.
      Often wrong.
      Continually improving.
    3. Long-time Microsoft developer
      Former Enterprise Architect
      Alt.Net guy, but still nice
      President, IASA Austin
      Copyright 2009, Thought Ascent, Inc
      Worth mentioning?
    4. Experience with vendor WF tools
      Experience with BizTalk (2002+)
      Recently built a successful production implementation using WF 3.5
      See that “opinionated architect” comment.
      Copyright 2009, Thought Ascent, Inc
      What qualifies me to talk about Workflow…
    5. Copyright 2009, Thought Ascent, Inc
      So what is “Workflow” anyway?
    6. Copyright 2009, Thought Ascent, Inc
      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.
      – from http://en.wikipedia.org/wiki/Workflow
    7. Copyright 2009, Thought Ascent, Inc
      How about something simpler?
    8. The coordination of work in a “system”
      Copyright 2009, Thought Ascent, Inc
    9. Copyright 2009, Thought Ascent, Inc
      Got it. So then what’s a “Workflow System?”
    10. Perhaps…
      An application that assists in the definition and/or execution and/or management of workflows
      Copyright 2009, Thought Ascent, Inc
    11. Copyright 2009, Thought Ascent, Inc
      That sounds too similar to a “normal” system. What’s the difference?
    12. How a workflow system differs from a traditional program
      In theory, at least…
      Copyright 2009, Thought Ascent, Inc
    13. Declarative
      Copyright 2009, Thought Ascent, Inc
    14. Persistent
      Copyright 2009, Thought Ascent, Inc
      External Stimulus
      Persistence Store
    15. Dynamic
      Copyright 2009, Thought Ascent, Inc
      Business Change
      Activity F
      Divert to new activity
    16. Configurable
      Copyright 2009, Thought Ascent, Inc
      Activity D
      Activity E
      Rules Store
    17. Centrally Defined…
      Copyright 2009, Thought Ascent, Inc
    18. … though not necessarily visual.
      Copyright 2009, Thought Ascent, Inc
      static SessionSaga()
      {
      Define(() =>
      {
      Initially(
      When(NewSession)
      .Then((saga, message) => saga.NewSessionStarted(message))
      .TransitionTo(SessionActive)
      );
      During(SessionActive,
      When(FeedbackCheckRequested)
      .Then((saga, message) => saga.CheckForFeedback(message))
      When(new Timer()
      .StartOn(session.Start)
      .RunAtInterval(session.CheckInterval)
      .Until(session.End))
      .Then((saga, message) => saga.CheckForFeedback(message))
      When(SessionComplete)
      .Then((saga, message) => saga.SessionEnded(message))
      .Complete()
      );
      });}
    19. Copyright 2009, Thought Ascent, Inc
      Ok, I get it. So why are we still doing this presentation?
    20. Copyright 2009, Thought Ascent, Inc
      Workflow has a PR problem…
    21. Copyright 2009, Thought Ascent, Inc
      There seem to be two sides…
    22. Copyright 2009, Thought Ascent, Inc
      …who can’t (or won’t) get along.
    23. The “Workflow will Save us all” side
      Copyright 2009, Thought Ascent, Inc
    24. The “Run like you’re on fire” side
      Copyright 2009, Thought Ascent, Inc
    25. Copyright 2009, Thought Ascent, Inc
      I’d like a third option please.
    26. Copyright 2009, Thought Ascent, Inc
      How about the best of both?
    27. Consider both sides of the story…
    28. And be a cautious optimist…
      Copyright 2009, Thought Ascent, Inc
    29. There are reasons to get excited about Workflow…
      Copyright 2009, Thought Ascent, Inc
    30. Copyright 2009, Thought Ascent, Inc
      Visual, Visual, Visual
    31. Copyright 2009, Thought Ascent, Inc
      Clear expression of intent from domain experts…
    32. Copyright 2009, Thought Ascent, Inc
      The Next “Great Leap” in software
    33. …and there are reasons to be wary…
      Copyright 2009, Thought Ascent, Inc
    34. Steep-learning curves
      Copyright 2009, Thought Ascent, Inc
    35. Copyright 2009, Thought Ascent, Inc
      Poor Performance
    36. Copyright 2009, Thought Ascent, Inc
      Sleights of hand and shell-games
    37. Copyright 2009, Thought Ascent, Inc
      Both sides are right …
      Both sides are wrong….
    38. Copyright 2009, Thought Ascent, Inc
      Right and wrong? How so?
    39. Myths, Truths and Wishful Thinking
      Copyright 2009, Thought Ascent, Inc
    40. 1) Visual Workflow Tools are the only way to “do” Workflow
      Copyright 2009, Thought Ascent, Inc
    41. Myth
      Copyright 2009, Thought Ascent, Inc
    42. Is this really easier to comprehend…
      Copyright 2009, Thought Ascent, Inc
    43. Than this?
      require 'rubygems'
      require 'statemachine'
      vending_machine = Statemachine.build do
      state :waiting do
      event :dollar, :paid, :activate
      event :selection, :waiting
      on_entry :sales_mode
      on_exit :operation_mode
      end
      trans :paid, :selection, :waiting, :release trans :paid, :dollar, :paid, :refund
      context VendingMachineContext.new
      end
      Copyright 2009, Thought Ascent, Inc
    44. The Truth
      Many open-source “code-first” solutions offer most of the benefits of a workflow system without the steep learning curve.
      Copyright 2009, Thought Ascent, Inc
    45. Demo –Workflow with Mass Transit
      Copyright 2009, Thought Ascent, Inc
    46. 2) Workflow should be running all your application logic
      Copyright 2009, Thought Ascent, Inc
    47. Lie
      Copyright 2009, Thought Ascent, Inc
    48. Turn a simple flow…
      Copyright 2009, Thought Ascent, Inc
    49. …into “Spaghetti Flow”
      Copyright 2009, Thought Ascent, Inc
    50. The Truth
      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.
      Copyright 2009, Thought Ascent, Inc
    51. 3) Domain experts can (and should) easily change workflows at runtime
      Copyright 2009, Thought Ascent, Inc
    52. Copyright 2009, Thought Ascent, Inc
    53. Wishful Thinking…
      Copyright 2009, Thought Ascent, Inc
    54. The Truth
      We don’t change systems at runtime without some diligence. So why would our users?
      That said. There are models that are more illustrative of reality…
      Copyright 2009, Thought Ascent, Inc
    55. 4) Declarative/Visual App Dev is easier than traditional dev…
      Copyright 2009, Thought Ascent, Inc
    56. Half-Truth
      Copyright 2009, Thought Ascent, Inc
    57. The Truth
      Where it’s easier:
      OOB programming constructs (IF, While, etc)
      Encourages/ Rewards SRP-development
      Where it’s harder:
      Visual IDEs slower than code IDEs
      Testing is hard, if not impossible
      Refactoring involves more rework than necessary
      Copyright 2009, Thought Ascent, Inc
    58. 5) “I can build a WF system in 100 lines of code”
      Copyright 2009, Thought Ascent, Inc
    59. Wishful Thinking…
      Copyright 2009, Thought Ascent, Inc
    60. The Truth
      Code-only solutions can address simple scenarios quickly…
      But tend to unravel when persistence, durability, scale,timed-events, long-running processes, human workflow and other complex issues are introduced.
      Copyright 2009, Thought Ascent, Inc
    61. The Faceplant Application
      “Social Speaking”
      Demo:
      Copyright 2009, Thought Ascent, Inc
    62. Copyright 2009, Thought Ascent, Inc
      Congratulations! You’ve done an excellent job of not telling me what I should do…
    63. Open Discussion – When should a Workflow Tool be considered?
      Copyright 2009, Thought Ascent, Inc
    64. When does WF make sense?

      Copyright 2009, Thought Ascent, Inc
    65. Copyright 2009, Thought Ascent, Inc
      I think it’s time for the bottom line…
    66. There is no simple answer…
      Only the right tool for the job
      Copyright 2009, Thought Ascent, Inc
    67. The Right Tool for The Job might be…
      “Roll Your Own” Workflow
      Use an open-source Bus
      NServiceBus
      Mass Transit
      Simple ServiceBus
      Use an open-source State management tool
      Simple State Machine
      Use Windows WF
      After you’ve exhausted all other possibilities
      Copyright 2009, Thought Ascent, Inc
    68. Consider a “Workflow System” when:
      Need a visual, changeable representation
      Timed-events are key
      Long-running:
      Transactions
      Conversations
      Services
      Many, complex processes
      Economies of scale principle
      Copyright 2009, Thought Ascent, Inc
    69. Don’t start with a workflow system as a solution.
      Get there by eliminating other options
      Copyright 2009, Thought Ascent, Inc
    70. And pay attention…
      Software development is changing.
      Copyright 2009, Thought Ascent, Inc
    71. Questions?
      brandon.satrom@thoughtascent.com
      www.userinexperience.com
      Twitter: @thesatch
      Code and slides available at:
      http://github.com/bsatrom/WorkflowSystems
      Copyright 2009, Thought Ascent, Inc
    72. Image Credits
      WF System, InfoWorld
      http://www.infoworld.com/d/developer-world/product-review-ultimus-jump-starts-bpm-deployment-546?page=0,1
      Pinnochio – House of Sims, Flickr
      http://www.flickr.com/photos/houseofsims/2662410465/
      Myth – Mythbusters on Discovery
      http://dsc.discovery.com/fansites/mythbusters/wallpaper/wallpaper.html
      Steep Learning Curve – Casual Game Design
      http://www.casualgamedesign.com/?p=27
      Skeptic Guy – Flick
      http://www.flickr.com/photos/mcleod/3909431214/in/set-72157607796029636
      Copyright 2009, Thought Ascent, Inc

    + Brandon SatromBrandon Satrom, 3 months ago

    custom

    193 views, 1 favs, 1 embeds more stats

    IASA Denver Talk on Workflow Systems, September 200 more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 193
      • 186 on SlideShare
      • 7 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 20
    Most viewed embeds
    • 7 views on http://www.userinexperience.com

    more

    All embeds
    • 7 views on http://www.userinexperience.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories