Showing posts with label architecture. Show all posts
Showing posts with label architecture. Show all posts

2016-08-24

Architecture is about WHY

Yet another definition of architecture which may be more understandable by some audiences.

MASTER definition

architecture, noun
totality of fundamental concepts or properties of a system in its environment embodied in its discrete parts and relationships, and in the principles of its design and evolution

Another definition

architecture of a system-of-interest, noun
description why this system-of-interest is designed as shown in its blueprint

Such a description must be
- explicit
- computer-executable (i.e. formalised)
- multi-viewpoints
- understandable by all the stakeholders of the system-of-interest

A blueprint of a system-of-interest is only one of the architecture description viewpoints.

Thanks,
AS


2010-04-11

Let us architect the use of existing technologies instead of blaming them for bringing complexity/inflexibility/etc. in enterprises

The aim of this paper/post is to share my opinion about a BPM (Business Process Management, of course)-related topic which is extensively discussed during last few months in many forums, blogs, articles, conferences and seminars. Sure, this is about Case Management with all its variations such as Adaptive Case Management, dynamic BPM, etc.

What do we discuss: a new management discipline, a new class of software products or a new practice of addressing existing business needs by existing technologies? As this is not clear in each piece of text, I will be very explicit. I will discuss the last option which is about how to shape a business system to become flexible enough to really help the business to deal with individual cases (not just with the mass production).

Considering that many technologies, methods, standards, enterprise roles are intermixed within this topic, I will address it through a few views:
  • systems thinking view
  • BPM (as a discipline) view
  • case manager (or relevant authority) view
  • business system architecture view
But, at first some examples of CM. The OMG’s RFP for the Case Management Process Modeling gives the following set:
Applications of case management process modeling include licensing & permitting in government, insurance application and claim processing in insurance, patient care and medical diagnosis in healthcare, mortgage processing in banking, problem resolution in call centres, sales and operations planning, invoice discrepancy handling, maintenance and repair of machines and equipment, and engineering of made to order products.

I would add: crisis management, classic project management, legal cases, plane building, developing and publishing an international standard, preparing a multi-stakeholder document (e.g. an international treaty or a public law which should be checked by many governmental agencies and potentially discussed in the Internet). May I also include some games, please? Like the chess?

What is common in these examples?
  • there are some rules how to carry out cases;
  • human-being’s knowledge, creativity and abilities are the critical success factor;
  • it is not possible (or practical?) to predict an exact sequence of “non-creative” (or mechanical) actions for the whole case lifecycle,
  • it is highly desirable to plan ahead some next actions to evaluate potential risks, time, resources, values, etc.

Systems thinking view


Generally, case is a complex, dynamic, adaptive, open, self-evolving and socio-technical system.
The socio-technical aspect is primary important and any automation should be designed with the human-centred perspective by keeping the “operator” in command of the whole system, requiring that the operator be informed and involved with monitoring the automation.
All parts of the system are important (participants, rules, documents, data, etc.) and, in accordance with the “systems thinking”, they can best be understood in the context of their relationships to one another and to the external environment, rather than in isolation. So, to provide better guidance of the “trajectory” (course of evolution/changes/actions) of the system then it is necessary to obtain / preserve / reflect more knowledge of relationships between the parts.

Some of such knowledge may come from the history of a case (i.e. its trajectory).

Because of very dynamic and open (high degree of influence from the external environment) nature of cases, it is not possible to predict a future trajectory of the system, but it is possible plan it. As any plan is an approximation, to be better prepared unknown, a few different scenarios may be considered. Three types of scenarios can be recommended: optimistic, pessimistic and realistic.

To guide the trajectory of the system, the feed-back control loop approach can be used. Smaller loops and/or nested loops can improve the ability to follow to the real situation. The frequency of loops may change during the time – the system may have periods with a turbulent behaviour and some quite time.

BPM (as a discipline) view


BPM as a management discipline (how to use processes to manage the enterprise) is about “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 meaning of the word “model” has to be clarified. It means to make known, to describe or to communicate a plan (or plan of work or process template) of how to carry out future actions to obtain a desired outcome. Such a plan may have non-functional characteristics (risks, time, resources, values, etc.) and can be tested by some simulation. Usually, such a plan of work is prepared by the case manager and is subject to approval by some stakeholders of a particular case.

The meaning of the word “automate” has to be clarified also. It means to instrument the proposed plan of work by some existing or new tools.
Obviously, those 6 BPM functions (model, automate, execute, control, measure, and optimise) are applied iteratively and continuously. How often? It is a choice of the people who implement a BPM-centric system. BPM discipline does not limit them. Possible variations are:
  • 1 (to be precise, the same version) process template for N process instances – a traditional use of workflow technology.
  • 1 process template for 1 process instance – individual tailoring of a generic process template for a particular case. An example is “Defined Process” [capability level 3] from CMMI; another example is a legal procedure [bankruptcy procedure] defined by the law which is actually a skeleton (with a lot of exceptions) for all instances.
  • No process template before the process instance – the template is built as needed within the process instance (or at runtime). Small process fragments are used. Some of them are predefined in a library of process patterns, some of them have to be created on demand.

What are optimisation criteria? Again, it is a choice of the organisation. The latter may use the BPM for perfecting internal work (inside-out) or serving each customer differently (outside-in).

So, the BPM discipline is rather applicable for managing of cases.

Case manager (or relevant authority) view


Any tools for case management shouldn’t try to replace a human, but assist him/her to carry out repetitive or complex calculation/data processing activities. Planning of future actions at runtime is mandatory. Such a planning may comprise several scenarios, may have different horizons (next action only, a few next actions, all further actions, etc.), may involve some simulation and may use different characteristics (risk, values, money, impact, etc.) Planning can be nested: the top-level planning is the case lifecycle.

Support of decision making is necessary because of increasing amount of information involved in the decision making. Sensing of this information and events is vital.

Perfect capturing of relevant data and information is certainly the area for automation. Especially, for handling of small fragments of information in addition to whole documents. For example, patient’s data must become anonymous for a review by a group of external experts. Each fragment (and any logical aggregation of fragments) should be treated as a separate unit with its own history, identification, permissions, relationships, presentations, audit trails, etc.

And finally, help people with coordination of actions. Coordination may be between organisations, units, people, systems, etc. Also coordination can be static, dynamic, un-structured and networked. It is important to provide and enrich a library of coordination patterns (e.g. a review by a group of experts).

Again the OMG’s RFP for the Case Management Process Modeling gives a good overview:
Typical elements of a case management process are assessment of needs, evaluation of potential solutions, implementation of a selected solution and monitoring and evaluation of results. Case management typically requires a great deal of knowledge work, undefined interactions between a case manager and other participants, long running case resolution efforts, multiple process fragments and engagement of supporting services.

Business system architecture view


The aim is to provide an “actionable work execution coaching/guidance” for the business. It seems that a good set of existing technologies should be deployed and employed TOGETHER: BPM, BRM, ECM, CEP, EDA, SOA, MDM, RBAC, process/data mining, .
The current situation with BPM software products shows that vendors are trying to add more and more features from different technologies into their products (e.g. by acquisition of separate tools). So, products are more and more complex, expensive and heavy (difficult to test and to evolve). Is it a time when the “created” complexity became an obstacle for further progress (including innovations)?

The solution for reducing complexity is well-known – use architecture with pluggable (through commonly-agreed and standard interfaces) blocks of specific functionality. Also, this should bring the flexibility thus enable business innovations.

Imagine that each case is handled by a personalised and dedicated "virtual" business micro-system. The micro-system is optimised for a particular case and evolves together with the case lifecycle – see below.


Conclusion


The title of this post is its conclusion – let us architect the use of existing technologies instead of blaming these “speechless means” for brining complexity into enterprise systems.

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-06-27

Linkedin: BPM and SOA - looking for your opinions

<discussion group="BP group" ref="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=1062077&discussionID=4610507&sik=1246123336638&trk=ug_qa_q&goback=.anh_1062077.ana_1062077_1246123336638_3_1" />

I think some definitions should be stated explicitly at the beginning....

service, noun
explicitly-defined and operationally-independent unit of functionality

process, noun
explicitly-defined coordination of services to create a particular result

Remark: Services and processes can be considered to be intimately related since in real terms
• all processes are services,
• some operations of a service can be implemented as a process, and
• a process includes services in its implementation.

BPM discipline, noun
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

Remark: At present, the BPM discipline is the best way to implement process-centric enterprises.

BPM system, noun
<enterprise> portfolio of the business processes as well as the practices and tools for governing the design, execution and evolution of this portfolio

Remark: Any process-centric enterprise has its own enterprise BPM system. The enterprise BPM system may not be perfect (e.g. some processes may be only documented on paper, some details are only “located” only in the minds of certain people, etc.), but it does exist.

BPM suite, noun
coherent set of software tools for facilitating the implementation of a BPM system

SOA, noun
architectural approach for constructing software-intensive systems from a set of universally interconnected and interdependent services


The relationship: SOA provides recommendations for the implementation, execution and governance of services. The BPM discipline, by revealing the artefacts (roles, events, rules, object, KPIs, etc.) and the relationships between them, provides the necessary context (e.g. granularity) for the definition of services.

You are right – BP modelling is important. Obviously, each person models in his/her own, but a good modelling procedure can help different people to find out same artefacts which will be implemented via reusable services.

I believe that with a good architecture it is possible to archive optimum flexibility (see http://www.slideshare.net/samarin/architecting-enterprise-bpm-systems-for-optimal-agility-presentation )

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

2008-12-07

LinkedIn: What is the difference between Enterprise Architecture, Business Architecture and the various other "X Architecture" names, interpretations

<question group="Business Architecture Community">

What is the difference between Enterprise Architecture, Business Architecture and the various other "X Architecture" names, interpretations and approaches?
Q1
Is there a difference or is it just semantics, causing confusion because of different naming conventions and promotion of individual view?

I have personally used "Business Ecosystem Architecture" and "Symbiotic Architecture" to define through naming a difference in my own approach, always with a very heavy emphasis on it being a business (executive) driven requirement.

Following the above...
Q2
Should Business Architecture refer to:
- Business strategy dimension for EA
- Business processes that aligns with EA (TOGAF)
- Integrated operational ecosystem model
- Whole-of-Enterprise
- Symbiotic relationship design
- Your suggestion here…

</question>



From my definitions...

enterprise architecture, noun
coherent and proven set of principles, recommendations, rules, practices, and tools which provides guidance and practical help for the design and evolution of IT and business to achieve enterprise vision and strategy

Remark 1: Examples of business vision and strategy are a higher level of maturity, a greater agility, better collaboration, merging, cost cutting, modernisation of legacy applications, outsourcing of a business unit, etc.

Remark 2: Some parts of enterprise architecture are dedicated to different stakeholders.

Remark 3: To guarantee the desired outcome, enterprise architecture needs to be as good as applied science.

enterprise business system, noun

top level view of an enterprise as a system for conducting the business

Remark 1: This top level view may concentrate on how the business is structured, what it does and what it needs to do to meet its goals.

Remark 2: The issues of greatest importance for enterprise business systems are the following:
• the core end-to-end business processes (also known as value streams);
• the governance structures;
• the core business information (semantics);
• the communication with the core business partners.

business architecture, noun
that part of enterprise architecture concentrating on the conceptualisation and evolution of the form and structure of the enterprise business system


Thanks,
AS