2009-05-28

The Tech Evangelist blog: The Relationship Between SOA, BPM & EA

<discussion ref="http://jpmorgenthal.com/morgenthal/index.php?entry=entry090522-213329" />


Interesting post, because understanding of relationships between elements (i.e. BPM, SOA, and EA) of a system is the way to understand these elements. A few comments.

I define BPM and SOA slightly different.
BPM, actually, covers three different concepts (see Should we consider third (forgotten) BPM?):
1) BPM as a discipline or methodology
2) BPM as some software, i.e. BPM suite
3) BPM as a system for managing of business processes with an enterprise

SOA is architectural approach for constructing software-intensive systems from a set of universally interconnected and interdependent services (service is an operationally independent unit of functionality)

Relationship between BPM and SOA :
BPM discipline, by revealing the artefacts and the relationships between them, provides the necessary context (e.g. granularity) for the definition of services.
SOA provides recommendations for the implementation, execution and governance of services.

To build a good enterprise BPM-system, others (BPM discipline, BPM suite, and SOA) are necessary, but not sufficient. A good architecture is mandatory.

BPM and SOA are more than views of enterprise architecture (EA). Classic EA gives only "enterprise genotype” (a full nomenclature of enterprise artefacts) and it does not provide “enterprise phenotype” (a set of observable characteristics such as performance). A possible way to achieve a formal link between "enterprise genotype” and “enterprise phenotype” can be enhancing of EA by BPM and SOA which are able to define "enterprise executable description”.

Top Down or Bottom Up ? I recommend pinball style (see "Linkedin: Top Down or Bottom Up ?")

Thanks,
AS

2009-05-18

BPMNEXUS: BP Notations

<discussion ref="http://bpmnexus.ning.com/forum/topics/bp-notations" />

A short answer - there is no a commonly agreed BPM reference model which can give a context for BP notations.

An explanation by example. In my BPM reference model, BPM discipline allows you to model, automate, execute, control, measure and optimise the flow of business activities that span the enterprise’s systems, employees, customers and partners within and beyond the enterprise boundaries.

The main difference of the BPM discipline from previous process-centric methodologies is the need to have a single formal description of the business processes which can be used to model, automate, execute, control, measure and optimise them.

Agree with Ricardo, that expressing of business processes in any notation should serve to communication between people. But, I believe, such a notation should be also executable to validate that communication. (just a sidenote -- I think that any program code should be written to communicate a solution between people.)
So,
• A BPMN-like modelling notation should use a standard execution semantic which can be validated and which guarantees the adequate interpretation of models by different software for different uses, e.g. for functional testing, performance simulation and execution. (I think, this is similar to Brian's post).
• It should be possible to represent the same business process model with different levels of detail, e.g. a high-level view for a normal user, and a more detail for a business analyst.
• There should be a modelling procedure which guides different people how to use these different levels.
• Details of the execution of business processes should come from a coherent set of standards, similar to that provided by the W3C for HTML: a) xHTML for structure and content, b) CSS for presentation, c) DOM-based API for dynamic modifications, and d) some other specialized standards. (At present, W3C works also on some recommendations for HTML5 which include several API for Web application, i.e. the execution environment.)

It seems that W3C standardisation approach for HTML is rather solid. I like it as a good example of customer-centricity which is proved by the current situation with Web browsers – all vendors of Web browsers want to benchmark their product against the ACID3 test (acid3.acidtests.org) to demonstrate their compliance with standards. Once such a baseline has been established, it becomes easy to compare the performance of products.

I think that the current BPM is still vendor-centric and we have to make customer-centric BPM.

Thanks,
AS

2009-05-14

Gartner blogs: Does BPM in the Cloud Become a Business Operating Platform?

<discussion ref="http://blogs.gartner.com/jim_sinur/2009/05/13/does-bpm-in-the-cloud-become-a-business-operating-platform/" />

I think this is a wrong sequence. At first, BPM should become a business operating platform than this platform can enjoy advantages of the cloud computing.

To achieve the first, it is necessary to have a commonly agreed BPM reference model (e.g. see http://www.slideshare.net/samarin/bpm-concepts-de-base-presentation) and a few reference architectures. Moving to the cloud may follow the way described in http://improving-bpm-systems.blogspot.com/2009/04/bpm-in-action-calling-for-input-on-bpm.html .

Hope that bpmnexus.ning.com will advance with the BPM reference model soon.

Thanks,
AS

Linkedin: Theoretical BPM Question: Are there three dimensions to a business? People, Process, and ???

<discussion ref="Theoretical BPM Question: Are there three dimensions to a business? People, Process, and ???" />

I think the following list of types of artefact is important for BPM as a discipline:

- events
- processes
- activities
- rules
- roles
- objects(data and documents)
- audit trails
- key performance indicators (KPIs)
- services

So far, the technology is not necessary. But to implement a good enterprise BPM system, a modern BPM suite is required (but not sufficient). See also "Should we consider third (forgotten) BPM?".

Thanks,
AS

BPMNEXUS: BPM success stories: the highs, the lows, the lessons learned

<discussion ref="http://bpmnexus.ning.com/forum/topics/bpm-success-stories-the-highs" />

An example for a newcomer....

Situation:
A “non-BPM” project for replacing about 30 separate publishing systems by a more modern electronic publishing system. The particular difficulty in this project was the project members’ perception that their business processes are so special that it is not possible to find a single system which is suitable for everyone. As a result, the project did not progress at all despite two years’ of heated meetings.

Task:
Unblock the project.

Action:
Together with the project members, we carried out a quick BPM modelling of the most important business processes and derived an agreed list of about 20 common services which covered the majority of needs for everyone. The difference between many of the processes analysed was only in the logic of using those services (e.g. different sequencing, different routing, etc.).

Result:
This agreed list of common services and the ability to easily combine services into processes were used as selection criteria for a new electronic publishing system. The project was completed and the new electronic publishing system has been selected.

Note:
You may say that this is not a good example of BPM. I think, that without a commonly agreed BPM reference model it is not possible to compare BPM projects.

Thanks,
AS

2009-05-05

Re: Five Fatal Errors for Business Analysts

<discussion ref="http://www.integrated-modeling-method.com/process-modeling/five-fatal-errors-for-business-analysts />


I use a modelling procedure which I think avoids some of these pitfalls. The purpose of the modelling procedure is to analyse a building block (what it is supposed to do) and to synthesise its implementation (how it does this) as the explicit coordination of other building blocks (processes or activities). It is an iterative procedure – we can apply it until we have left only indivisible building blocks (i.e. activities). During modelling, we collect and refine different artefacts (including data, rules, roles, KPI, etc). We consider that building blocks are constructed recursively, like Russian dolls, to avoid getting bogged down in detail.

More detail in section 6 of http://www.improving-bpm-systems.com/pubs/AS-BPMDS08.pdf

Thanks,
AS

2009-04-27

BPM in Action: Calling for Input on BPM in Cloud Computing: Let's Clear Away the Fog

<discussion ref="http://www.ebizq.net/blogs/bpminaction/2009/04/calling_for_input_on_bpm_in_cl.php />

Dennis,

I would approach the “BPM in the cloud” topic from a) a BPM reference model and b) an architectural framework for improving enterprise BPM systems.

At first, it should be clear the definition of BPM. I think, the most important BPM is “enterprise BPM system” which is a portfolio of business processes of the enterprise, as well as the practices and tools for governing the design, execution and evolution of this portfolio as a system. Well-known BPM as a discipline and BPM as software are used to implement this “third” BPM (see http://improving-bpm-systems.blogspot.com/2009/04/should-we-consider-third-forgotten-bpm.html).

The BPM reference model tells us that any enterprise BPM system is a complex and dynamic set of interconnected and interdependent artefacts: events, processes, rules, roles, objects, services, etc. The evolution of some artefacts and the relationships between them is necessary to accommodate typical changes in policies, priorities, compliance, technology, laws, etc. So, to be agile and responsive in business, it must be easy to modify all artefacts and their relationships without causing any negative effects (e.g. unexpected delays and undesired consequences) in any part of the BPM system.

The architectural framework defines the four main architectural principles necessary to achieve a high level of flexibility.

  1. All artefacts must be versionable throughout their lifecycle
  2. .
  3. All artefacts must evolve to become digital, externalised and virtual
  4. .
  5. All relationships between artefacts must be modelled explicitly
  6. .
  7. All models must be made to be executable
  8. .


The second principle can be extended that, finally (see figure below), the artefact should be able to exist somewhere in a “cloud” (i.e. somewhere on the Internet without any knowledge of, expertise in or control over the technology infrastructure that supports it) and should be available whenever needed. Although the concept of cloud computing is still in its infancy, our experience shows that the best use of this concept requires both
a. a customer-centric (i.e. not vendor-centric) “cloud” and
b. the internal preparedness of an enterprise to put its artefacts into the “cloud”.



I think, that this approach can reduce the cost of moving to clouds, because it considers a possibility to use clouds from the architecture of the system. Also it can help to define that SLA should be required for a particular “clouded” service, because explicit and executable models provide enough information to evaluate how the availability of a particular service contribute into the availability of higher services.

Thanks,
AS