I'm in a position to write something along the lines of business process management (BPM) software for a small to mid-sized company, but I have no clue about the design goals, and patterns I can adapt for typical BPM.

What defines BPM and are there any typical approaches to it? How do I learn more about it?


I am a little confused as to exactly what you are trying to achieve. You don't just wake up one day and decide you want to write some BPM software - you must have a reason for doing so, and this reason is your design goal. BPM is a very wide ranging concept that covers many things - what particular aspect are you targeting?

And why do you feel the need to create yet another BPM suite? Is there something in current suites you do not like? Do you feel they are too bloated?

Your reason for writing the BPM is your design goal. Clearly define what these are, then you can begin looking at design patterns and start to look at what approach you are going to take to achieve these goals.

  • The main force was there's no BPM available in the programming language we use. Anyway, after some research, I guess I will only employ BPMN and SOA for now, and move onto using BPM later when we see fit. Thanks – Henry Jul 13 '11 at 19:42


The articles there seem like a solid start. I'd particularly recommend the "Getting Started with BPM" ones to establish the fundamentals. Key points they cover:

  • Your first process should be a core business process that impacts how workers do their critical daily tasks.
  • In the waterfall model, the system delivered wasn’t quite what the business was looking for, but often ended up being what they were stuck with since a lot of work had gone into the creation of the system. In particular, the business process that represents how they actually get their work done could be incorrect, requiring them to use manual workarounds in order to implement the process that they need.
  • People need to understand what's in it for them to switch to the new application and related procedures, and they need to be able to do so with a minimum of disruption to their day-to-day operation.
  • Frederick Taylor vs. Peter Drucker

and so on.

Before implementing it, make sure you fully understand what it is.

  • I thought BPM is a generic description for the type of software that manage business process. bpm.com seems to be a website Integrify?? – Henry Jul 12 '11 at 19:20
  • If you read their "About Us" page, it says "For over 5 years, BPM.com has been the Internet's top destination for articles, news, research and white papers on Business Process Management and workflow." It is essentially an information repository, although that's a stretch. – BlackJack Jul 12 '11 at 19:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.