2009-11-13

Linking concepts and expressions used in Enterprise Architecture (EA)

The purpose of this article is an attempt to link some concepts and expressions used in Enterprise Architecture (EA). Some material from discussions at LinkedIn was used for this post.

First, the famous columns from Zachman framework


WHAT – assets (physical and electronic ones, e.g. business objects)

WHO – roles (e.g. people, organizations, governing bodies, other actors)

WHERE – places (physical and virtual ones)

HOW – functions (actions of making some assets from other assets, adding value to assets, etc.)

WHEN – events (temporal, systematic, spontaneous, external, internal)

WHY – reasons (e.g. motivation, rules, internal and external constrains including desired performance, principles)

maybe to add also
WITH WHAT RESULTS – KPIs (derived from audit trails as actual performance)



Next, two overused terms


Service is an explicitly-defined and operationally-independent unit of functionality. Service is a black box to produce some assets. Service is an external perspective of a function. One or many distinct functions can be fulfilled by a service.

Process is an explicitly-defined coordination of services to create a particular result. Process is a white box to produce some assets. Process is an internal perspective of a function. Process is a composite from many different artefacts (roles, rules, assets, functions, etc.).

Remark: Services and processes can be considered to be intimately related since in real terms

  • all processes are services,
  • some functions of a service can be implemented as a process, and
  • a process includes services in its implementation.

So, at an enterprise we may have many elementary nano-services which are organised into a mega-service, i.e. the whole enterprise.



And a very controversial term at the end


Capability is the possession of characteristics required to produce a particular outcome. The latter is a pair “right things” (assets) and “done well” (performance, reliability, etc.) as the result of work of a function (regardless how this function is implemented). So, a capability combines functional and non-functional characteristics (timeliness of outcome, data accuracy, quality of result, efficiency, effectiveness, impact on stakeholders, SLA, SLE, etc.) of a function. Important to note that a capability describes some kind of expected characteristics of a function, but not actual results demonstrated in particular cases. This is similar to normal cars are which capable to do 200 km/h, but they rarely go faster than 130 km/h.

Are capabilities the building blocks (easy to move, reorganize, outsource, etc.) of business? Only if a corresponding function is exactly a service (so, the function is operationally-independent and it can be improved without causing any negative effects).

Functional characteristics are known from a function itself. Non-functional characteristics can be obtain from specifications (as defined in a contract or a description), by measurements (performance testing) or by design. The latter option means that a function (a part of the whole service) can be implemented as a process for which performance characteristics can be obtained from the performance simulation of the process template. In some cases, obtaining non-functional characteristics by design is the most practical way.


A possible scenario


Stakeholders:
OK tell us about your brilliant idea.


Future CEO:
We plan to provide to the market a product WHAT1 manufactured from WHAT0 with the performance WHY1. This will be fullfiled by function HOW1 implemented via service ServiceHOW1

WHAT1 = ServiceHOW1(WHAT0) // Magic happens here

Stakeholders:
Sounds good. But, is ServiceHOW1 capable to operate as required by WHY1?

Business architect:
The desired performance of ServiceHOW1 is guaranteed by its implementation via ProcessHOW1. In some way, WHAT1 is decomposed into a set of WHAT2x. WHY1 is decomposed in a set of WHY2x. All together will be coordinated by this process.
ProcessHOW1 = {coordination1, HOW2*, WHAT2*, WHY2*, WHO2*, WHERE2*,... }

Stakeholders:
Please continue until black boxes become too trivial so they can be bought, rented, outsourced and easily implemented.


What do you think?
Thanks,
AS

2009-11-09

Linkedin: Top three Enterprise Architecture challenges?

<discussion ref="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=36781&discussionID=9394300" />

1) Move from vendor/group/institute-centric EA to customer-centric EA.

2) Advance from just being DNA or “enterprise genotype” (a full nomenclature of enterprise artefacts) to provide a formal link with “enterprise phenotype” (a set of observable characteristics such as performance).

3) Develop a commonly-agreed reference model.

Thanks,
AS

2009-11-06

Book "Improving enterprise business process management systems"

The book "Improving enterprise business process management systems" has just been published (see its introduction and table of contents). This book looks at the following three concepts of BPM:

[the theory]
BPM as a management disciple;
[the tools]
BPM as a software (BPM suite);
[the practice]
BPM as a portfolio of the business processes of an enterprise, and the practices and tools for governing the design, execution and evolution of this portfolio (BPM system).

In particular this book concentrates on the last concept which is often neglected although all enterprises need it. This book will help you to industrialise enterprise BPM systems. It describes a holistic approach to the application of BPM and SOA for improving enterprise business performance, including

  • how to use architecture to reduce complexity,
  • how to use a BPM reference model and BPM artefacts,
  • tips on mastering the most difficult aspect – people,
  • guidelines on the modelling in BPMN,
  • recommendations for designing flexible systems, and
  • in-depth discussion about the link with enterprise architecture.

This book is available from the Trafford's bookstore http://www.trafford.com/Bookstore/BookDetail.aspx?BookId=SKU-000138608



Thanks,
AS

2009-10-22

About "Architecture"

I noticed that the word “architecture” is used more and more in the meaning of “architecture of a complex system”:

- The big bosses from G20 (“thanks” to the financial crises) are talking about “international financial architecture”.

- Just before the Copenhagen meeting we can hear about “Toward a post-Kyoto climate change architecture”.

- Recently, the Europarliament was talking about “a new global security architecture”.

So, there is growing understanding that any big (just bigger that yourself) “endeavour” should start from its architecture.

Thanks,
AS

2009-10-13

Linkedin: Process Consulting ! Steps / Tools / Input / Output

<discussion ref="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=113496&discussionID=8252361&commentID=7342881#commentID_7342881" />


1) visit their production to look over the shoulders what they are doing
2) choose a group of super-users and train them about BPM and business process modeling
3) select a few business areas and do business process modelling with the super-users for these areas
4) train their IT about BPM/SOA
5) implement with their IT a few operational prototypes for the selected business areas
6) present the results to the top management
7) listen/reflect their feedback
8) tune the used methodology (i.e. my book "Improving enterprise BPM systems") for their needs
9) let them improving their processes by themselves
10) help/guide them if requested



Thanks,
AS

2009-10-06

Linkedin: Are we overdue for a BPMS shakeout? Or is the large number of software vendors offering tools in this area a good thing?

<discussion ref="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=73876&discussionID=7700343&commentID=7157602#commentID_7157602" />

At present, we have vendor-centric BPM and this is good ... for vendors. At the same time we don’t have a commonly agreed BPM reference model, or a good set of standards (e.g. for exchange diagrams between different tools), etc.

I believe that it is time that BPM progresses from being vendor-centric to become customer-centric. A good example of customer-centricity is 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 hope that a similar tendency will be established in the BPM field whereby vendors of BPM software will compete in terms of compliance with standards and product performance.

Interesting that the W3C maintain a coherent set of standards 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.

Wish that we can have something similar in BPM.

Thanks,
AS

Linkedn: Is there more to modern application architecture than SOA? How do we include BPM, data management and Web 2.0?

<discussion ref="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=36604&discussionID=7512884&commentID=7157050&goback=.anh_36604#commentID_7157050" />

The business world understood a long time ago that services and processes are the backbones of most enterprise business systems.

A service is defined as "an explicitly-defined and operationally-independent unit of functionality". A process is defined as "an explicitly-defined coordination of services to create a particular result". So, at a process-centric enterprise we may have many elementary nano-services which are organised into a mega-service, i.e. the whole enterprise.

Services and processes are related in the following way:
- all our processes are services,
- some operations of a service can be implemented as a process, and
- a process includes services in its implementation.

Often, it may be useful to consider a service as a black box where no information about its implementation is available. Alternatively, it may be useful to consider a service as a white box where implementation details of all its operations are available.

Although the relationships between processes and services are unique and rather complex in each enterprise, the use of explicit definitions allows the formalisation of dependencies between them.

If we look at BPM then we can see three different concepts:

1. BPM discipline which 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

2. BPM system -- enterprise portfolio of the business processes as well as the practices and tools for governing the design, execution and evolution of this portfolio

3. BPM suite -- coherent set of software tools for facilitating the implementation of a BPM system

At the same time, SOA -- architectural approach for constructing software-intensive systems from a set of universally interconnected and interdependent services

The relationships are between SOA and BPM are:
SOA provides recommendations for the implementation, execution and governance of services. The BPM discipline, by revealing the BPM artefacts and the relationships between them, provides the necessary context (e.g. granularity) for the definition of services. Ideally, a BPM system is built with the use of SOA and a BPM suite often acts as a tool to provide composite services.

Business processes are VERY important because they serve as an EXPLICIT implementation of some services thus allowing determine/calculate the performance of those services. So, the capabilities of those services are known, proven and controllable – what the business wants.

In addition, the proper design of business processes and architecting BPM system can add a lot of flexibility into a business system.

Thanks,
AS