Somebody asked a question on LinkedIn Group on BPM Implementation. The complete thread can be found at: http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&discussionID=27533047&gid=73876&trk=EML_anet_qa_ttle-dnhOon0JumNFomgJt7dBpSBA
Here are the two questions and what follows is my attempt at answering these questions. Comments are welcome – either here or on the LinkedIn group.
My organisation is in the process of evaluating various BPM vendors based on a POC by each vendor. Looking for inputs in 2 areas:
1. We would like to restrict the BOM to 'must have's". Can someone tell me what should be the ideal BOM to keep the budget within control.
2. What scope of work should we engage the vendor? for e.g. Can we have 1 of our employees trained by the vendor on the process designer/modeler? The objective being that we can have the vendor setup few processes initially to restrict customization charges.
On your Q1:
You should be looking at some of the evaluation criteria from different vendors to get an idea about key functions/features of a BPM system. BPM is a very broad subject area and it can cover many different things depending on who you ask. At the minimal, I would look for following "MUST HAVEs":
- Support for system-centric business processes (Typically where humans are not involved). Usually the vendors support these using BPEL. Ensure the level of specification adherence for BPEL.
- Human-centric business processes where human actions are required to move through process steps and complete. Usually vendors support this through their own proprietary extension to BPEL or through XPDL.
- Document centric business processes where the documents are handled and processed through various steps both by humans and by system in some semi-automated fashion. Some organizations (or some departments within organizations) are heavy users of documents coming in (insurance companies, some government agencies etc.) where they have to process the documents, OCR them, categorize them into many different classes, route them to appropriate people, create responses or trigger the next steps in the process etc. Ensure that ALL appropriate parties in your organizations are represented in your "typical" process models.
- Integration of these three different business process types as for a typical business processes, you cannot depict and manage the process using just one of the constructs above.
- A modeling tool which can allow you to model, simulate (and allow you to optimize) and implement a process
- A design, development and testing environment where you can implement and test the processes (realize process models). Please understand that for implementing a typically complex process, you will be invoking a bunch of services, handing things off to humans for exception handling and other decision making and finally moving few documents around to support the process execution. This requires an integrated set of design, development and testing tool where you can design and implement the services, design and implement the processes, create test stubs and drivers and allow a set of developers to complete the implementation of the process. Also, look for new standard for integrating external services called SCA (assuming you are looking for Java centric BPM suites).
- Business rules design and integration is a new aspect which some vendors are introducing in their product line. If your business processes are constantly changing then you want to look at a rules engine.
- A way for humans to review the process dashboard to claim tasks, route tasks to others, timeouts and escalations etc. This is also known as a task inbox. Some vendors (e.g., IBM) implement such a user interface and also provide detailed APIs for you to build your own.
- Ask the vendors to provide some performance and scalability numbers (how many system-centric processes can execute at any given point of time, how does the system-centric processes scale for a standardized hardware platform that your infrastructure team has, how many in-flight human-centric business process instances can exist etc.). Of course, you will get typical answer that it depends and it does! It depends on the process complexity (number of steps, decision points, external service calls, data elements being transferred from step to step etc.). However, a good vendor will be able to provide some decent performance and volume numbers.
- Once you have a process built, it is time to deploy it, run it and manage the execution. Here you are looking for a robust runtime environment with robust monitoring capabilities (I am talking about infrastructure monitoring and not the process monitoring – that topic is next).
- Last but not the least, you are looking for Business Activity Monitoring (BAM) type of capabilities where you can identify the steps where the processes seem to get "stuck" or take the most time to complete and then you can analyze as to why. Most vendors with mature product offering will provide a good set of BAM capabilities using some reporting tools.
- Last but not the least, the change management process for processes. Imagine, 2 years after you have implemented a bunch of processes you want to make the change in the processes (add new steps, route the steps to different group of people – say outsourced to some external vendor, or some regulation changed and now you have to collect additional data items etc.). This is where the vendors should be able to provide the ease of change. The problem is how to apply the change to those "in-flight" processes.
- Licensing is another key issue. Depending on your deal size, vendors may throw in quite a few "freebies". However, think through some scenarios to ensure that a licensing model defined currently may change significantly if your process scenario changes and that will end up costing you a whole lot of money.
In summary, here are some MUST-HAVEs:
- Support for BPEL (which level)
- Support for human-centric business processes (how and which standards are used)
- Support for document/content within the process
- Modeling tools support
- Design, development and testing tools and standards support
- Performance and scalability
- BAM capabilities
- Change management
- License costs
On your Q2:
I would prepare a detailed list of evaluation criteria and ask them to provide answers to those criteria. I would also create a good representative process models from your business (remember – involve as many departments to create realistic process models). However, once you give them the process models, make few changes (just like businesses do) and see their reaction to those changes. For a serious evaluation, get involved in all aspects – modeling, designing, implementing, testing, deploy and monitor. If you have time and money, I would also run some performance and load tests to see how the process infrastructure holds up under heavy demands. The scalability will affect the licensing!
I would also do some "paper analysis" to short-list 2 or 3 vendors and then do detailed hands-on evaluation. I would also request at least 2 or 3 client references which went through such evaluation and picked a vendor. Ask those other clients as to why they picked that vendor. Remember, vendor teams vary quite a bit from client to client and the vendor teams involved in such evaluations also vary in their experience and knowledge.
And lastly some shameless plug! Engage my company Innowix to help with such an evaluation. We have a detailed methodology for such a technical evaluation along with some readymade set of evaluation criteria for BPM suite selection which you can start from.