Your SlideShare is downloading. ×
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,565

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,565
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
54
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
    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.
  • 56. 4) Declarative/Visual App Dev is easier than traditional dev…
    Copyright 2009, Thought Ascent, Inc
  • 57. Half-Truth
    Copyright 2009, Thought Ascent, Inc
  • 58. 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
  • 59. 5) “I can build a WF system in 100 lines of code”
    Copyright 2009, Thought Ascent, Inc
  • 60. Wishful Thinking…
    Copyright 2009, Thought Ascent, Inc
  • 61. 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
  • 62. The Faceplant Application
    “Social Speaking”
    Demo:
    Copyright 2009, Thought Ascent, Inc
  • 63. Copyright 2009, Thought Ascent, Inc
    Congratulations! You’ve done an excellent job of not telling me what I should do…
  • 64. Open Discussion – When should a Workflow Tool be considered?
    Copyright 2009, Thought Ascent, Inc
  • 65. When does WF make sense?

    Copyright 2009, Thought Ascent, Inc
  • 66. Copyright 2009, Thought Ascent, Inc
    I think it’s time for the bottom line…
  • 67. There is no simple answer…
    Only the right tool for the job
    Copyright 2009, Thought Ascent, Inc
  • 68. 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
  • 69. 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
  • 70. Don’t start with a workflow system as a solution.
    Get there by eliminating other options
    Copyright 2009, Thought Ascent, Inc
  • 71. And pay attention…
    Software development is changing.
    Copyright 2009, Thought Ascent, Inc
  • 72. 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
  • 73. 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

×