Business Process/Workflow Modeling
Analyzing and Documenting Your Business Processes

Business Process Modeling Enables...
Visualization
Useful for the developer, during both development and maintenance, but also for the workflow user who wants to know why they are supposed to be doing what they’ve been asked to do, or the IT Ops guy who wants to know what some misbehaving app is, or should be, up to.
Expressiveness
A workflow model is a Domain Specific Language, specialized to support characteristic problems. An example is a review process where three positive votes out of five reviews mean that the document is good – and any outstanding reviews can be canceled. This is a little tedious to code, but the Windows Workflow Foundation includes out-of-the-box constructions that address such problems.
Execution
The runtime can exploit the model to take away the need to solve the same problems over and over again. In the Windows Workflow Foundation we built in support for the knotty problems of long running workflow such as state management and compensation – controlled by simple, expressive model elements.
Monitoring
The existence of a model makes it possible to produce an event stream with a meaningful semantic without any additional developer effort. This can then be used to monitor instances of workflows, or aggregates. Windows Workflow Foundation allows also allows declarative decoration of events with application data pulled from the workflow state - so that you can tell that credit check has started for order 14532.
Transformation
Models beget models. An example is the transformation of a workflow model into the Message Exchange Pattern required to communicate with it – as Dharma and Don demonstrated so beautifully at the PDC. Another is customization. An ISV ships a workflow, which is customized by a VAR, and then again by a customer. Then the ISV ships a new base version. The use of a shared, well understood model for the workflow makes the consequent 3-way merges much more tractable.
Composition
If an application is factored into flow and work, then the atomic elements of work, with their well understood interfaces, can be reused by other workflows. Workflows themselves are valid definitions of work that can also be used by other workflows.Customization and transformation together enable ecosystems where definitions of work and flow become shared or traded artifacts.