I recently realized that every company I worked for, except of one but it was so long ago no one can remember it anyway, developed and was selling their own proprietary workflow system. You know a kind where you can drag-and-drop some nodes and arrows, add users, actions and voila – the most complex business process is mapped.
What’s so special about workflow systems that everyone develops their own? Well, it’s a kind of The Holy Grail of business applications. You now, you have this workflow thing and you don’t need any other tool. You can configure every process there. Oh, maybe except a couple of them if given workflow solution is rather a specialized tool than a general one.
The problem is this kind of high level, general solutions very rarely fulfill expectations. And it’s no surprise if you ask me. If it was so easy we wouldn’t need ERP solutions, CRM systems, project management software, banking applications, bug trackers, you-name-it. We’d have one huge workflow which would be so complex no one would be allowed to touch the configuration and punishment for breaking this rule would be a headshot.
Of course there’s number of scenarios which suit perfectly to general workflow application but the interesting thing is why it’s so rare when companies look for external solutions instead of writing their own software. We buy a lot of tools but this one we develop.
I guess one of main reasons (a pretty common one) is “no one did it right yet but we’ll do it” way of thinking. There’s also another flavor: “no one had this problem before us” approach. Both are screwed. Actually there are pretty limited amount of people out there who face problems everyone else is yet to discover or have revolutionary and good answers for old issues. Chances are good you aren’t one of them.
If someone came to me and said “let’s make our own workflow system” a series of red lights would flash. Exactly the same which would flash if he came and advised to write our own ORM tool since no one else got it right yet.
Somehow it’s pretty common this kind of ideas make their way to the development. Why is it so?