Dave Gardner

It's about people

Workflow Manifesto

This is a personal manifesto around business software development and workflow.


Consulting

Pleeease call me! Checkout my resume and contact details.

Workflow Theory

The best site I know for Workflow/BPM theory is associated with the QUT   Yawl project. Check out the animations!








SubSonic

I try not to talk about tools here but I am so impressed by this Data Access Layer generator that I want to give it a plug. My hat is off to Rob Conery and the team (http://www.codeplex.com/actionpack) for a really well thought out and productive tool.

Though it's intended for web development you can use it to eliminate the drudgery of DAL development for any .NET app. Just set it up, press a couple of buttons, and your DAL is ready to use. Sounds too good to be true? Download it and see (it's free).

Why Workflow

In a nutshell, workflow is a better way of looking at business software systems. Object oriented languages and designs delivered expressiveness and abstraction, and CORBA/COM eventually delivered binary reusability, but workflow takes software design in a different direction entirely.

Software development is about communication. You cannot develop successful interactive software systems in isolation. I know because I've tried. It's a battle to keep the communications flowing when you're under pressure and buried in detail. In a business context, a workflow approach helps because the framework you use to communicate with clients, business managers and other stake-holders is the same framework your software is built on. No translation required. While details can still get lost, your implementation is guaranteed to be a lot closer to your client's expectations.

In the early 90's I worked on an event correlation system for a large international software company. The team who shared the same floor were developing a workflow system. The workflow project imploded for a number of reasons, but there must have been something in the tea because I acquired a fascination with workflow, even though I wasn't directly involved in that project.

A couple of years later I joined a startup developing a Business Process Management system. The company went belly-up after a valiant effort and some wonderful successes that just weren't enough to survive the dot com bust.

Now Microsoft are releasing Windows Workflow Foundation -- every developer's workflow toolkit. Whether it sinks or swims, the effect it will have is to boost workflow techniques further.

BPM or Workflow?

Strictly speaking, Workflow is what happens in every company when it processes an order, for example. Workflow isn't sexy. Workflow Systems, as the name suggests, facilitate and automate some or all of the flow of work. On the other hand, BPM (Business Process Management) is a fancy acronym thought up by brainy types to help design and implement both better workflows and better workflow systems. BPM is meta-workflow in the sense that it describes workflow and provides ways for the cognoscenti to talk about it. I use the term workflow casually to cover all of the above.

Dave Gardner.