Showing posts with label #best. Show all posts
Showing posts with label #best. Show all posts

2015-02-24

Iceberg of processes within an enterprise

Processes within an enterprise are not equally visible.


All together should be a system-of-processes ( http://improving-bpm-systems.blogspot.ch/2014/03/enterprise-as-system-of-processes.html ).

Thanks,
AS

2014-03-19

Enterprise as a System Of Processes

This blogpost is an attempt (inspired by www.bpm.com forums and http://thebusinessarchitect.accelare.com/2014/03/10/a-systems-view-of-business-architecture/ ) to understand how separate processes work together as one functional whole (i.e. a System Of Processes -- SOP) at the scale of an enterprise. Use of processes (and related to them constructions) will reduce the undesired complexity of an enterprise, improve understanding of its structure and behaviour, thus facilitates the management and evolution of the enterprise.


Basics of the management by processes


Enterprise functioning can be considered as business activity flows spanning the applications, employees, customers and partners within and beyond the boundaries of the enterprise. (Business activity is a unit of work). Those flows and individual business activities within them are interrelated. Flow emphasises that business activates are interrelated in time as well. So, the relationships between business activities are static (expressed as structure) and dynamic (expressed as behaviour).

Although any enterprise has its naturally complexity, the lack of explicit and codified knowledge about all relationships (static and dynamic) adds a lot of undesired complexity. The latter is the root cause why it is difficult to manage and improve enterprises. Often, even small changes provoke big disasters.




Historically, business process is the basic business concept to bring some order into the structure and the behaviour of interrelated business activities. A business process is explicitly-defined coordination for guiding the purposeful enactment of business activities.

In its simplest form, the explicitly-defined coordination is an initially agreed plan to follow a defined sequence of activities; the plan may include some variants and the plan allows some changes during its execution. A detailed, formalised and unchangeable plan (e.g. in a form of process template expressed in BPMN) is one of the several coordination techniques (see http://improving-bpm-systems.blogspot.fr/2014/03/coordination-techniques-in-bpm.html ). The explicitly-defined coordination reveals the structure and the behavior and thus reduces the undesired complexity.

Because the coordination can be strong (e.g. as in the army) or weak (e.g. as in an amateurs football team), it is possible to discover various constructs (in addition to business processes) within the whole structure and behaviour of business activities within an enterprise. Usually, the coordination between business activities which belong to a particular construct is stronger that the coordination between similar constructs. The number of relationships between business activities which belong to a particular construct is higher than the number of relationships between business activities which belong to different (but similar) constructs.

Thus, the knowledge about constructs reduces the number of potential relationships between business activities and allows concentrating on constructs themselves and relationships between constructs. Note that relationships between constructs can be implemented by different coordination techniques (see http://improving-bpm-systems.blogspot.fr/2014/03/coordination-techniques-in-bpm.html ).

Coordination within processes


It was observed that although all business processes are unique, they are actually composed from similar process fragments or process patterns. For example, let us consider a typical “repair” process in housing management which comprises claim making, evaluation, selection of a service provider, repair, control, invoicing and insurance to pay the activities. This process several is actually composed from a few process patterns as shown in illustration below (an original process model is covered by patterns).

Patterns used in this illustration are:
Although any pattern is a highly-cohesive construct, patterns can be adapted to particular needs. For example, the Delegation of Authority Matrix (DAM) pattern is implemented differently in the procurement and in the project management.

Some process patterns are available at http://improving-bpm-systems.blogspot.fr/search/label/practical%20process%20patterns

In general, process templates must not be considered as something “fixed forever” – see http://improving-bpm-systems.blogspot.fr/2010/12/illustrations-for-bpm-acm-case.html

Coordination between processes


The coordination between processes is usually event-based (see the illustration below). In the simplest variant, the finish of a process is the start of another process. Note that it looks like the state-based coordination between processes.
In the reality, there are more complex interactions between processes (see the illustration below)


  • the finish of one process is the start of another process – marked with circled “1”;
  • starting another process and just waiting for its finish (aka synchronous invocation) – marked with circled “2”;
  • starting another process and waiting for its finish sometimes later (aka asynchronous invocation) – marked with circled “3”;
  • starting another process and not waiting for its finish at all (aka “fire and forget”) – marked with circled “4”;
  • staring another process from one process and waiting for its finish in third process – marked with circled “5”, and
  • co-processes (e.g. a pair of rock climbers tied together by a rope agree to climb one after the other, and not simultaneously -- see http://www.slideshare.net/samarin/process-practical-patterns-si).
Additional coordination techniques are also necessary because

  

Cluster of processes



Processes ,which are strongly related to each other, form Cluster Of Processes (CLOP). They are usually functional processes which are implemented a particular business function, e.g. Field Services.

Halo of processes (HLOP) is a set of processes which helps to execute a particular CLOP; the former are monitoring, operating and governance processes for the latter. The processes from HLOP are also called leading processes.
  • Monitoring processes are responsible for analysing the running functional processes – some sort of operational intelligence. 
  • Operating processes are used for implementing operational (via available parameters or controls) changes. 
  • Governance processes are used for detecting, designing and implementation of structural changes, e.g. “customer satisfaction and loyalty development”, “quality”, “strategy and planning” etc.
All together, they constitute two control loops – operational and strategic. Sometimes, extra health-check-points may be introduced for better monitoring of complex clusters.


At the operational loop, the following coordination techniques can be used:
  • intelligence-based – using the data about the execution of processes, it is possible to predict the future behaviour of processes and to take proactively some mitigation measures to avoid troubles. For example, an insurance claim (functional) process has an SLA related to the maximum execution time and some threshold to automatically accept small-value claims; otherwise a claim should be checked by an operator. If the monitoring process has detected that there is a “wave” of claims and there is a risk that the SLA can’t be kept because of the staff limitation then the operating process can temporary increase the threshold to absorb the “wave”. 
  • goal-based – as a typical business goal can be very hierarchy-structured (imagine a complex “fish-bone” diagram) and different sub-goals are supported by different processes, then some analysis of the actual situation related to achieving of goals may lead to adjusting some parameters in related processes or, even, starting of some processes. For example, if the HR cannot fill some positions then a process for reviewing the job descriptions for those positions can be initiated. 
Each CLOP may relate to the enabling group of clusters (EGOC), the supporting group of clusters (SGOC) and the customer group of clusters (CGOC). EGOC are typically specific for this CLOP while SGOC are common for several CLOPs.

Because of the natural recursion, a CLOP can be SGOC for some CLOPs. For example, a particular enterprise value system is a CLOP with SGOC of finance CLOP, IT CLOP, HR CLOP and procurement CLOP. Note that an enterprise may have several value systems.



Using the popular terms “core processes” and “supporting processes”, it is possible to say that “core IT processes” are “supporting processes” for “core business processes”.

Value streams and end-to-end enterprise processes are usually formed from a few CLOPs. In some sense, the whole enterprise is a “printed circuit board” in which CLOPs are connected “microchips”.


Coordination between CLOPs


Let us look at situations when some activities from a CLOP initiate (maybe even indirectly) activities in other CLOPs. The explicit coordination via event-based techniques is used in the form of “fire and forget”. For example, a service technician found that a particular piece of equipment must be replaced and he/she has to initiate an order to carry out this replacement.

The implicit coordination between CLOPs may happened as well. There are many situations in which one process is changing a business object and some non-trivial actions may be taken because of those changes. Also, a chain of changes may happen: a trivial change in a business object necessitates a change in another business object which necessitates a non-trivial action. And the business objects maybe of different types.

For example, a field service technician updated (in an activity in the process “close services”) his/her work order (business object 1) with a report which contains some lessons learnt. Those lessons learnt, after some validation, may be incorporated into the product maintenance guide (business object 2) or to the customer’s profile (business object 3). An analysis of customer’s profiles may reveal a need for some preventive maintenance (business object 4) or an opportunity for a custom project (business object 5).

Illustration below shows the separation between the update logic (change the state as the result of an external stimulus) and life-cycle logic (performing some activities that are related to a particular state).

More examples are below.

Coordination cases for business objects like products:
  • product’s life-cycle which requires some works in future (e.g. a technical service of the car after each 20 000 km) – aka scheduling.
  • eco-system influence, e.g. end of support/production for some components of a particular product.
  • technology progress, e.g. the availability of a cheaper material/component of a particular product.
Coordination cases for business objects like resources:
  • if a resource is not available then processes are queuing for it.
  • resource requires replenishment if its capacity is below a threshold.
Coordination cases for business objects like customers:
  • offering new services and products as the result of the field servicing.
  • changing of legal conditions (to renegotiate a maintenance contract).
  • market campaigns.
Typically, business object life-cycles are supported by custom applications and COTS (e.g. ERP, ECM). This makes difficult adding the coordination to existing life-cycles logic. A possible solution is to consider life-cycle as a process - http://improving-bpm-systems.blogspot.fr/2013/11/practical-process-patterns-lifecycle-as.html .

There are a couple of related techniques fro implementing the implicit coordination between CLOPs. A data integration process may be used for propagating data among several business objects (actually data repositories) as shown in illustration below.



Another technique is the “big data” or “business intelligence” approach when the data from various business objects is collected in one data warehouse and analysed by


Which technique is the best – all depends on a particular situation.


Functional view of system of processes


There is a definition of cross-functional (or end-to-end) process -- process which is understood differently by all participating organisational functions. This root cause of this effect is that separate organisational functions see the system of process from their functional silos. For example, department ZZ understands their process as show below.



Actually, their process is as show below.
And activities A and B are from processes of other departments as show below.
Again, implementation of functional processes separately will create a lot of undesired complexity.


Error-recovery relationships between processes


Another type of relationships which are very explicit. How CLOPs are linked for the error-recovery. For example, a client ordered a payment in an e-banking system (front-office). The e-banking system passes the payment to the bank's STP system (back-office) The latter tried to execute the payment and it was rejected by the recipient's bank. The back-office starts its recovery-error process which must start front-office recovery process BEFORE the client gets complains from the recipient.   Sounds simple, but it does not work in, even, in my world-wide bank.

Other factors to consider

Note, so far, both implicit and explicit forms of processes were treated equally. Typically, implicit processes are implemented within custom-built applications and ERP systems. Extracting important events from existing applications/ERPs is mandatory to exploit the power of processes.

In the worst case scenario, some processes are defined only on paper by the business and ignored by the IT.

Ideally, the target is explicit and executable business processes.

Thanks,
AS

2013-10-29

#entarch to help #healthcare

The huge cost of failed healthcare projects confirm that the problem is systemic. To solve it let us expand the scope to the whole healthcare eco-system. Without doubts, each healthcare organisation within the eco-system has its unique business processes, but those processes are “constructed” from typical business working practices. The latter can be common for any sector as well as specific for the healthcare sector. Thanks to BPM, these working practices can be formalised as actionable (e.g. in BPMN) process fragments.

So, instead of spending money to implement unique business system for each healthcare organisation, let us consider a common platform, which allows to easy implementing unique business processes from a coherent set of world-class working practices and deploy this platform into each healthcare organisation.

Healthcare reference model

To have such common platform, a healthcare reference model must be developed and accepted. For example, it can be based on the synergy between:
  • knowledge management, 
  • use of processes to better manage the Healthcare, and 
  • existing achievements in the standardization of the interaction between medical applications, HL7.

Platform-based implementation architecture

A platform-based implementation architecture (http://improving-bpm-systems.blogspot.ch/2011/04/enterprise-patterns-peas.html) is based on the following considerations:
  • The platform must standardise and simplify core elements of future enterprise-wide system. For any elements outside the platform, new opportunities should be explored using agile principles. These twin approaches should be mutually reinforcing: the platform frees up resource to focus on new opportunities while successful agile innovations are rapidly scaled up when incorporated into the platform.
  • An agile approach requires coordination at a system level.
  • To minimise duplication of effort in solving the same problems, there needs to be system-wide transparency of agile initiatives.
  • Existing elements of the platform also need periodic challenge. Transparency, publishing feedback and the results of experiments openly, will help to keep the pressure on the platform for continual improvement as well as short-term cost savings.

Forthcoming innovations faster

The platform will accelerate the implementation of following technology-enabled innovations.
##
Innovation
Technology-enabled techniques
Impact
1
Medical records are safely managed and properly share among the participants of the eco-system
Security is compared with private banks.
Well-structured data.
World-wide access for patient’s data.
Comprehensiveness of personal data.
Anonymous by Owner data for analysis and consultations
2
A patient can visit a doctor remotely
Video conferencing.
Avoid hassle for trivial cases.
Better traceability.
3
A patient can provide some simple “measurements” (pressure, temperature, sugar in blood) remotely
Smart devices and connectivity.
Systematic caring, faster alerting to prevent complex situations.
Better traceability.
4
Best specialists can provide consultation to an anonymous patient and recommend him/her the best possible treatment
Video conferencing.
World-wide access for patient’s data.
Improving the quality of treatment.
5
Patient is guided for home-based treatment
Predefined coordination and alerting (e.g. for taking pills).
Systematic monitoring.
Better supervising
6
All participants of the health-care ecosystem are electronically interlinked: doctors, hospitals, labs, pharmacies, insurances, government agencies
Secured exchange of data.
Higher quality of data.
Less overhead.
7
Other social (from governmental agencies), scientific, professional (3rd party reviewing), and commercial (express delivery) services can be plugged-in
Standard interfaces for services in standard processes.
Cost management.
Opportunities for small and local businesses.
8
The joint work of all participants is coordinated in a transparent and traceable manner.
Guaranteed audit trail. Guaranteed goal.
Early catching of problems.
Continual improvement.

Advantages for everyone

The main participants in the whole healthcare eco-system and their concerns are listed below:
  • Patients – hassle-free access to the healthcare services, correctness of treatment, maximum as possible treatment at home, cost.
  • Doctors—zero routine work, access to the medical knowledge, access to medications, traceability.
  • Other service providers – minimum overhead, common (with doctors) decision making.
  • Insuring bodies – traceability, cost of overhead, correctness of treatment.
  • Insurance companies – correctness of claims, correctness of treatment.
  • Governments – overall quality, overall cost.
  • Other services – easy to have business the main participants.
Some of those concerns will be address by mentioned above innovations.

Conclusion

#entarch can help #healthcare in the following way:
  1. Define the right scope – the whole healthcare eco-system
  2. Develop a healthcare reference model (#bizarch)
  3. Architect a common implementation platform (#apparch)
  4. Provide context for the HL7 data standardization work (#dataarch)
  5. Provide context for infrastructure
The wide use of the same platform will allow Geographical expansion of services, the virtual doctor's office and unification of basic healthcare services.

Thanks,
AS

2013-07-05

#BPM for business analysts: modelling procedure

A presentation about a modelling procedure from my book www.samarin.biz/book 

General information from BPM you may get from http://www.slideshare.net/samarin/bpm-for-developers



Thanks,
AS

2013-03-12

#bizarch artefacts definition; again

This post is written for the LinkedIn discussion "Whats the defference between, a Business Capability, a Business Function, a Business Process and a Service?"
In this post, I collected (and refined) several #bizarch definitions from the posts about #bizarch.

activity, noun
elementary or indivisible unit of work

function, noun
abstract and self-contained grouping of activities that collectively satisfy a specific operational purpose

Remark 1: Functions are unique within the enterprise and should not be repeated.
Remark 2: Some functions can be decomposed into smaller groups of activities, and thus the functional view has a hierarchical structure. (Without taking into account that one function may use other functions to accomplish its purpose.)
Remark 3: The structure of functions is not always the same as that of the organisation chart; in many cases, some organisational units can span several functions. Furthermore, organization charts may change while the function does not.
Remark 4: A business function typically has the suffix ‘management’ in its name (e.g. ‘Customer Relationship Management’), but it can also be a noun (e.g. ‘Marketing); usually, function name specifies something that is performed continuously.
Remark 5: The functional view emphasizes WHAT the whole enterprise does to deliver value to the customer (without the organizational, application, and process constraints). Usually, the hierarchical structure of business functions is very static (with a low rate of change).

service, noun
explicitly-defined, operationally-independent, and consumer-facing repeatable unit of functionality that creates a particular result for the consumer

Remark 1: It is considered that there are internal (even within an enterprise) providers and consumers as well as external consumers.
Remark 2: A service may wrap several functions. (In IT, we call them operations.)
Remark 3: A service is self-contained in some extend.
Remark 4: Complex services are created by means of the coordination of more simple services and/or activities (in the same way that an orchestra is a coordination of individuals and their actions). In this sense, an enterprise is a mega-service composed of a network of nano-services.

process, noun
explicitly-defined coordination of services and/or activities to produce a particular result

Remark 1: Processes are HOW of the business.
Remark 2: Services and processes can be considered to be intimately related since in real terms
  • all processes are services, 
  • some operations (or a very detailed function wrapped by a service) of a service can be implemented  as a process, and 
  • a process includes services in its implementation. 


capability, noun
the proven possession of characteristics required to perform a certain kind of work (i.e. as a particular service to produce a particular result) with the expected performance

Remark 1: Capability needs to “understand” the mechanics of delivering that service. The mechanics include the resources, skills, policies, powers/authorities, systems, information, other services, etc., as well as the coordination of work within the service.
Remark 2: Capability is named after the expected result/performance (http://ingenia.wordpress.com/2010/10/19/modelling-behaviour/), e.g. “2CV”.

Why do we need all of them? 
Functions is an internal view of an enterprise (or supply-side). Services is a consumer view of functions (or demand-side). Capabilities is a performance view (or matching demand and supply) including both expected and realised performance.

Each service is associated with an owner who is responsible for delivering the promised results in all instances in which that service has been requested. That owner has

  1.  to know/estimate the demand-side needs (the service may have many different consumers who will be using it with different frequencies), and 
  2.  to design/organise/create in advance the supply-side capabilities to ensure those needs are satisfied. 

So, how can one ensure that a service has the required characteristics? There are three control options:

  1. by contract (“re-active” approach) – acquire a service with the required characteristics, use it, check that its performance is acceptable and replace it if something is wrong with it; 
  2. by measurement (“active” approach) – implement a service, use it, measure it, improve or re-build it, etc.; 
  3.  by design (“pro-active” approach) – build a service model, run a simulation test, improve the model, build the service, use it, measure it, improve it, etc. 

The first option works with some support services, the second option can work satisfactorily with lead services and the third option should be used for core business services. The core business services can’t be outsourced, can’t be bought and must not be “damaged”.

One of the models of the "mechanics" of provisioning a service is a business process. The explicit coordination brings several advantages.

  • It allows planning and simulation of the behaviour of a service to evaluate its performance. If that service uses other services, then the demand-side needs for those services can also be evaluated. 
  • It can be made to be executable, thus guiding how work is done. 
  • It allows control that the actual behaviour of the service matches its intended behaviour, thus pro-actively detecting potential problematic situations. 
  • It allows the measurement within a service of the dynamics of different characteristics, e.g. valuing, costing, risk, etc.
Thus a process is a way to guarantee a capability of a service to perform a function.



And architects are responsible for this how (see http://improving-bpm-systems.blogspot.com/2013/03/architects-are-responsible-for-how-thus.html).

Thanks,
AS

2012-07-07

Coordination techniques in BPM, Social, ACM, etc.

Considering the definition of a process as “explicitly-defined coordination of services to create a particular result” this post shows how some explicit coordination techniques (rows) are employed by different “methodologies”  (columns) for managing the business by processes.



Classic WF
Classic BPM
ACM
Social NNN
EPN
template-based
++
++
--
--
-+
event-based
-+
+-
+-
-+
++
rule-based
++
++
+-
-+
+-
role-based
++
++
+-
-+
-+
information-based
-+
-+
+-
+-
-+
intelligence-based
-+
-+
-+
+-
--
community-based
--
--
-+
++
--
goal-based
--
--
+-
-+
--
instance-based
--
-+
--
--
--
interprocess (used instance-based)
--
--
--
--
--
managerial (tacit-knowledge-based)
--
-+
--
--
--
resource-based (follow the resource life-cycle)
--
-+
+-
--
--
inter-organisation
--
-+
--
--
--
state-based ??
??
??
??
??
??

A combination of some of them may provide "predictive analytics".

Ideally  – like in the chess game – use must the right combination of coordination techniques in a particular case at the particular moment. But, not all process-centric tools offers all coordination techniques. 

Also a related post about BPM and ACM - http://improving-bpm-systems.blogspot.com/2010/12/illustrations-for-bpm-acm-case.html.

Thanks,
AS

2010-12-12

Illustrations for #BPM, #ACM, Case management, adaptive processes

The aim of this post is to illustrate possible relationships between process-template and process-instance which have been discussed in several blogs (my main contribution is http://improving-bpm-systems.blogspot.com/2010/04/let-us-architect-use-of-existing.html ), LinkedIn discussions and at the OMG meeting in Jacksonville.

BPM as “process-oriented management discipline to help an enterprise to realise its vision, by managing the flow of business activities in a holistic way thus considering together modeling (or planning), automation (or instrumentation), execution, control, measurement and optimization of business processes”. Below I illustrate a few variants of how those 6 functions can be applied.

Variant 1 – classic (one template is used for many instances)

Variant 2 – tailoring (a template is adjusted for each instance)
Variant 3 – reactive (no initial template and next activity is selected based on the current situation)

Variant 4 – proactive planning (similar to variant 3, but a few next activities [fragment] are executed together; whose fragments can be predefined [e.g. patterns] or designed as needed)


Variant 5 – scenario-based (similar to variant 4, but a few scenarios are considered [e.g. optimistic, realistic and pessimistic)]

1. Optimise / Reflect / Refactor + Model / Plan / Simulate + Automate / Instrument


2. Execute + Control + Measure

3. Execute + Control + Measure

4. Execute + Control + Measure

Variant 6 ...


Example for this variant is from the healthcare - thanks @Karl

Note 1 – Those illustrations show only diagrams, not all other necessary parts of the business process such as roles, rules, services, data, documents, and KPIs. Obviously, all parts have to be treated equally.

Note 2 – Ideally, some of those variants have to be intermixed within a process – selecting one of them should be easy as changing the gear.

Thanks,
AS