ワークフローを状態として管理すると言う考え方はすいぶんと昔からあった訳ですが、
特に国内においては、一時期のLotus Notesの流行によってワークフローという
言葉が変質してしまったようにおもいます。
Lotus Notesの時代のそれは、単なるフラグ立てゲームで、言い換えるば
認印の世界と大差が無く、例外的な業務は結局人手でフォローするしかないものが主でした。
#10年前、僕はまさにその現場にいて、例外ケースをその場で必死に実装していたりしてました。
最近はS2BuriやWindows Workflow foundationに代表されるステートマシンタイプの
ワークフローやWfMC実装なんかが出てきてはいるものの、
現場の発想自体がフラグ立てゲームのままなので、実装に落としこもうにもなかなか
仕掛けが理解されずに苦しむケースが多いように思います。
ステートの遷移としての差戻しは難しいとか、そういう類の。
僕が関係するワークフローのプロジェクトも多分に漏れず、中の人の理解不足による実装の歪曲に
ずいぶんと悩まされてきました。(とはいえ、これは僕一人の啓蒙活動でどうにかできるレベルではないし、
政治的な問題が絡んでいたりしたのでやむを得ないところはあったのだが。)
先述のフレームワークなんかが現場レベルで普及してくれれば、こんな苦労も少しは軽くなるかしら。
どちらにせよ、僕の中ではワークフローは既に過去のものですし、既に実装の現場にまで
落ちてきているので、これ以上触ることはしなくてもいいと思っています。
あとは現場が改良していくでしょう。
個人的にはこれがかなりいい線行っている気がしています。