Sunday, August 22, 2010

BPM Implementation - Answers to couple of questions on LinkedIn BPM Group

Somebody asked a question on LinkedIn Group on BPM Implementation. The complete thread can be found at:

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.


BPM Implementation

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.


My answers…

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":

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. A modeling tool which can allow you to model, simulate (and allow you to optimize) and implement a process
  6. 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).
  7. 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.
  8. 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.
  9. 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.
  10. 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).
  11. 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.
  12. 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.
  13. 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:

  1. Support for BPEL (which level)
  2. Support for human-centric business processes (how and which standards are used)
  3. Support for document/content within the process
  4. Modeling tools support
  5. Design, development and testing tools and standards support
  6. Performance and scalability
  7. BAM capabilities
  8. Change management
  9. 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.

Good luck.


Outline of Business Process Management (BPM) education/training material

Here's a rough outline of the BPM material that I am putting together. I have quite a few items available in bits and pieces but I need to put them together in a coherent material which can be used for training different sets of audiences.

Any feedback will be highly appreciated!

1. What is BPM? Why is it important?
2. Business Introduction to BPM
  • a. Why is "Business" in the BPM important (duh!)? Or how does BPM help with the business value?
  • b. Relationship of Business Architecture and BPM
3. Technical Introduction to BPM
  • a. Reference Architecture
  • b. Industry standards
  • c. Tools and Products
4. Implementing BPM
  • a. BPM Maturity Model
  • b. Project level
  • c. Department or Organization level
  • d. BPM CoE
5. Upcoming technologies and Trends
  • a. New devices which improve business efficiencies
  • b. Complex Event Processing
6. BPM Governance
7. BPM Projects - Development Methodology (SDLC)
8. Business Activity Monitoring
9. Innowix methodology for BPM implementation

Innowix Services Overview

To provide effective services in the IT domain to our clients, Innowix has created an architecture framework which helps guide execution of various types of IT projects ranging from Business Process re-engineering to simple infrastructure deployment. These IT projects can vary in size and scope and can encompass projects around definition and implementation of IT Strategy, Application Modernization programs, Enterprise Architecture programs, specific business systems development, technology implementation and infrastructure implementation.


Following diagram provides a high-level view of Innowix Architecture Framework.


Figure 1: Innowix Architecture Framework



The Innowix Architecture Framework consists of various areas predominant in Information Technology subject matter. The Innowix Architecture Framework consists of methodologies, guidelines, checklists, best practices and tools where applicable for effective execution of projects in respective areas. It also serves as a great reference for defining and managing overall IT Strategy for an organization. This architecture framework can be applied in managing and rationalizing the IT resources and assets in case of mergers of one or more business entities.


Innowix has successfully applied this framework for helping Transportation Cabinet of Commonwealth of Kentucky in defining their 5-year IT Strategy and Roadmap.


The Innowix Architecture Framework has following main subject areas and four supporting subject areas. Innowix services are organized around these subject areas:


Main Subject Areas of Innowix Architecture Framework and related services are:

  1. IT Strategy
  2. Business Solutions
  3. Technology Platform
  4. Infrastructure
  5. Enterprise Architecture

Supporting Subject Areas of Innowix Architecture Framework and related services are:

  1. Project and Program Management
  2. Information and Data Governance
  3. User Experience
  4. System Development (Processes and Tools)
Following diagram shows details around services by area:

Figure 2: Overview of Innowix Services


More details on Innowix services can be found on Innowix website at

Saturday, August 21, 2010

Application Lifecycle Management (ALM)

Application Lifecycle Management or ALM is a way to bring process management discipline to the software development area. Of course the main set of artifacts you manage within ALM are software development artifacts including requirements, design, code and test.

There are tons of tools which manage source code but there are not many tools around which do a good job of end-to-end traceability and management of the software artifacts and provide management tools. IBM has good set of tools and Microsoft's TFS is closing the gap. However, requirements management area is where there's tons of opportunities to optimize the processes with mature tools.

I am reviewing Jazz and IBM Team Concert platform to see if it allows third-party requirements management tools or not.

Of course, older I get I am realizing that the usability (or ease of use) is critical for successful usage of any tool. Installation and maintenance is secondary and IBM has to simplify installation and management aspects for their Rational tools.

Here's something new from Microsoft:

Visual Studio Database Guide