SlideShare a Scribd company logo
BPM for developers:
 improve agility of
  implementations

      A. Samarin
About me

• An enterprise architect
      – From a programmer to a systems architect
      – Experience in scientific, international, governmental and industry
        environments: CERN, ISO, IOC, BUPA, Groupe Mutuel, State of
        Geneva, EDQM, Bund ISB, AfDB
      – Have created systems which work without me
      – Practical adviser for design and implementation of enterprise
        architectures and solutions
• My main “tool” is a blend of:
      – BPM, SOA, EA, ECM, governance and strategy

• Blog http://improving-bpm-systems.blogspot.com/
• PhD in computer graphics and 2 published books
© A. Samarin 2013         BPM for developers, v1                             2
Agenda

• BPM
• Process
• Coordination
• Automation
• Implementation model




© A. Samarin 2013   BPM for developers, v1   3
Business Process Management (BPM) is
           a tool for improving business
                           performance
      A natural evolution of
      BPR, Lean, ISO 9001, 6                        A multitude of tools
      Sigma                                         “handle” processes
The theory                                                  The tools
BPM as a discipline                                         BPM as software:
       The aim is to have a single
(use processes to business
       description of                                       BPM suite (BPMS)
manage an
       processes:
enterprise)
       - model in design
         - input for project
         planning and execution                       An enterprise portfolio
         - executable program for                     of the business
         coordination of work                         processes as well as
         - documentation for all                      the practices and tools
         staff members                                for governing the
         - basis for management                       design, execution and
         decisions                                    evolution of this
           The practice                               portfolio
           Any process-centric enterprise has some BPM, but
           how can we industrialise this BPM?
  © A. Samarin 2013        BPM for developers, v1                           4
BPM as a management discipline (1)

• BPM as a management discipline about how to use
  processes to manage the enterprise
      – 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

• Model means to make known, to describe or to
  communicate a plan of how to carry out future actions to
  obtain a desired outcome
      – To plan
      – To simulate




© A. Samarin 2013       BPM for developers, v1                    5
BPM as a management discipline (2)

• Automate means to instrument the proposed plan of
  work by some existing or new tools
      – To instrument

• Optimise means to introduce formally justified changes
      – To reflect
      – To refactor
      – To improve

• Those 6 BPM functions are applied iteratively and
  continuously




© A. Samarin 2013       BPM for developers, v1             6
Feedback improvement loop

• An enterprise is a complex, dynamic and adaptive
  system; one can improve it by:
      – measuring
      – observing
      – deciding
      – implementing
                                                           2

                                                       3

                                                   4           1



© A. Samarin 2013         BPM for developers, v1                   7
Process improvement disciplines




© A. Samarin 2013   BPM for developers, v1   8
Process-oriented view of an enterprise
               (before BPM)




© A. Samarin 2013   BPM for developers, v1   9
Process-oriented view of an enterprise
                (with BPM)




© A. Samarin 2013   BPM for developers, v1   10
Process-oriented view of an enterprise
                (with BPM)




© A. Samarin 2013   BPM for developers, v1   11
BPM suite components




© A. Samarin 2013      BPM for developers, v1   12
BPM suite components (extended list)




© A. Samarin 2013   BPM for developers, v1   13
Be ready for common
                    (mis-)understanding




© A. Samarin 2013      BPM for developers, v1   14
Process anatomy (1)

• The business is driven by events
• For each event there is a process to be executed
• Process coordinates execution of activities
• The execution is carried out in accordance with business
  rules




© A. Samarin 2013      BPM for developers, v1            15
Process anatomy (2)

• Each business activity operates with some business
  objects
• A group of staff member (business role) is responsible
  for the execution of each activity
• The execution of business processes produces audit
  trails
• Audit trails (which are very detailed) are also used for the
  calculation of Key Performance Indicators (KPIs)




© A. Samarin 2013      BPM for developers, v1                16
Process templates and instances

• Process template – a formal description of the process

                                             Templates   Instances
                                             and their
• Process instance –                         versions
  enactment of a process
  template


• Different variations of
  relationship between
  template and instance




© A. Samarin 2013   BPM for developers, v1                           17
Different enterprise artefacts

• Business artefacts
      – Events
                                                         Human
      – Processes                                        “workflow”
                                                  Data structures
      – Activities                                                    Roles

      – Roles                                       Documents
                                                                  Events
      – Rules                                        Rules
                                                              Processes
      – Data & documents                              Services

                                                       Audit trails
      – Audit trails
                                                              KPIs
      – Performance indicators
      – Services

• Organisational and technical artefacts …

© A. Samarin 2013        BPM for developers, v1                               18
Business processes are complex
           relationships between artefacts
• Who (roles) is doing What (business objects), When
  (coordination of activities), Why (business rules), How
  (business activities) and with Which Results
  (performance indicators)
• Make these relationships explicit and executable



    What you model is
    what you execute




© A. Samarin 2013   BPM for developers, v1                  19
Services and processes (1)

• Services are considered to be explicitly-defined and
  operationally-independent units of functionality
      – Formal description
      – Operational independence
      – Invisible implementation




© A. Samarin 2013         BPM for developers, v1         20
Services and processes (2)

• Processes are considered to be an explicitly-defined
  coordination of services to create a particular outcome
      – Formal description
      – Coordination




© A. Samarin 2013         BPM for developers, v1            21
Synergy between BPM and SOA (1) –
          structuring relationships
• BPM, 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




© A. Samarin 2013   BPM for developers, v1                22
Synergy between BPM and SOA (2) –
          structuring relationships
• Each enterprise is a complex, dynamic, unique and
  “fractal” relationship between services and processes
      – All processes are services
      – Some operations of a service can be implemented as a process
      – A process includes services
        in its implementation




                                                   service   process


© A. Samarin 2013         BPM for developers, v1                       23
Coordination between activities

• Interdependencies between activities must be managed
• Coordination can be:
      – implicit vs explicit
      – human vs automated
      – centralised vs decentralised
      – imperative vs declarative
      – strong vs weak
• May change over the time (e.g. a crisis situation)




© A. Samarin 2013          BPM for developers, v1        24
Different scales of coordination

• Controls on the same page
• Flow of pages
• Integration of services
• Human workflow
• Business-to-business




© A. Samarin 2013   BPM for developers, v1     25
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.

© A. Samarin 2013   BPM for developers, v1                 26
Explicit coordination techniques

• template-based (or token-based)
• event-based (or business-events-based)
• data-based (or business-objects-based)
• rule-based (or business-rules-based)
• role-based (or business-roles-based)
• intelligence-based (or business-intelligence-based)
• goal-based (also known as purpose-based)
• performance-based
• community-based
• etc.

© A. Samarin 2013    BPM for developers, v1             27
Coordination logic in BPMN (1)

• Template-based
      – static connection of “flow objects” or sequence relationship
        (predecessor and successor)
      – similar to a river (upstream and downstream)
      – process template is an abstract description of a process




© A. Samarin 2013         BPM for developers, v1                       28
Coordination logic in BPMN (2)
                                                         Click for animation

• Token-based
      – token marks elements which active at a particular time
      – dynamic connection of “flow objects” or synchronisation (wait for)
        / chronologic relationship
      – similar to a “flock” of ducks (split and join)
      – several tokens may co-exist




© A. Samarin 2013          BPM for developers, v1                              29
Coordination logic in BPMN (3)
                                                                       Click for animation

• Event-based
      – non-structured synchronisation between tokens
      – exchange of messages (signals, errors, etc.)
      – exception handling


                                                   Wait for (catch) a message event




                                    Generate (throw) a message event


© A. Samarin 2013        BPM for developers, v1                                        30
Coordination logic in BPMN (4)
                                                       Click for animation

• Instance-based
      – process instance is an enactment of a process template
      – each instance may have different behaviour of tokens
      – process instances may be coordinated via event-based
        coordination logic




© A. Samarin 2013        BPM for developers, v1                          31
Look at automation within processes

• Mixing human and automated activities
• Each human activity may be surrounded by two
  automated activities (pre-processing and post-processing)




© A. Samarin 2013   BPM for developers, v1               32
Speed of developing automation is the
          primary factor of agility
• Explicit versioning of everything (another topic for
  developers)
• Keep automation outside the process template (as they
  have different speed of changes)
• Use an interpretive language for automation scripting (no
  need to recompile)
• Use recovery loops (preserve
  instance, carry out quick corrections in
  “this” instance)
• Smart error handling (bypass some
  levels of support)


© A. Samarin 2013   BPM for developers, v1                33
More tricks

• Combine static and dynamic programming languages
• Use the strong typing, introspection, no exotic features
• Use external (to process engine) universal program
  (robot) to execute automation scripts (scalability)
• Assign automated activities to robots (potential use of
  specialised robots)
• Multiple robots (load balancing)
• Process engine queues jobs for robots
• Proactive monitoring of resource availability (better to
  wait a little than recover from an error)
• Idempotency
© A. Samarin 2013   BPM for developers, v1                   34
Java and Jython codes examples




© A. Samarin 2013   BPM for developers, v1   35
Multi-layer implementation model (1)




© A. Samarin 2013   BPM for developers, v1   36
Multi-layer implementation model (2)

•   The business data layer comprises many pieces of information –
    names, dates, files, etc.
•   The business objects layer comprises the many objects specific to a
    particular business, e.g. a business partner, a product, etc.
•   The business routines (or regulations) layer comprises the
    actions which must be carried out on the business objects to perform
    the business activities.
•   The business execution layer carries out the business processes.
•   The business monitoring layer analyses the execution of the
    business process.
•   The business intelligence layer implements enterprise-wide
    planning, performance evaluation and control actions applied to the
    business processes.


© A. Samarin 2013        BPM for developers, v1                           37
Multi-layer implementation model (3)




A - SharePoint

B – in-house
development

C – SAP ECC6                                  B   C
                                      A




 © A. Samarin 2013   BPM for developers, v1           38
Multi-layer implementation model (4)

 SAP BW/BI, etc.

 NetWeaver
 PI, SolMan, etc.
 NetWeaver
 BPM, etc.
 NetWeaver
 BRM, Java, ECC6,
 etc.
 XSD, Java, .Net

 SQL
 Server, Oracle,
 etc.

© A. Samarin 2013   BPM for developers, v1   39
Multi-layer implementation model (5)




© A. Samarin 2013   BPM for developers, v1   40
Services are externalised artefacts




© A. Samarin 2013   BPM for developers, v1    41
Categories of services (1)

• Business-specific
      – unique business-managed processes and non-reusable IT-
        managed services

• Business-generic
      – reusable business-managed processes and reusable IT-managed
        services
• Technology-generic
      – advanced utilities available as IT-managed services (these services
        act like an insulation layer)

• Technology-specific
      – typical basic utilities available as IT-managed services


© A. Samarin 2013         BPM for developers, v1                         42
Categories of services (2)




© A. Samarin 2013        BPM for developers, v1   43
Some SOA topics and BPM

• Service design -> access to BPM artefacts
• Service implementation –> wrapping BPM artefacts
• Transitioning beyond Basic Services -> processes
• Execution and deployment -> messaging over ESB
• Governance -> architecting flexible BPM systems




© A. Samarin 2013        BPM for developers, v1      44
Incremental introduction of executable
                processes
   As is            Application A              Application B   Application C



   1st iteration    Application A              Application B   Application C



   2nd iteration    Application A              Application B   Application C



   3rd iteration    Application A              Application B   Application C




   To be            Application A              Application B   Application C




© A. Samarin 2013               BPM for developers, v1                         45
Integration with BI and enterprise risk
                management
                                                             
                  
                                   Risk-related events, reports, alerts, indicators, etc.
                                                                          
                           Risk-related rules, logic and knowledge


                                       Enterprise                    Enterprise document
                                     data warehouse               management and collaboration




              
                                                              




© A. Samarin 2013                   BPM for developers, v1                                  46
Thanks




© A. Samarin 2013   BPM for developers, v1   47
Variant 1 – classic (one template is used
          for many instances)




© A. Samarin 2013   BPM for developers, v1   48
Variant 2 – tailoring (a template is
           adjusted for each instance)




© A. Samarin 2013   BPM for developers, v1     49
Variant 3 – reactive (no initial template
   and next activity is selected based on
           the current situation)




© A. Samarin 2013   BPM for developers, v1   50
Variant 4 – proactive planning (similar
    to variant 3, but a few next activities
     [fragment] are executed together)




© A. Samarin 2013   BPM for developers, v1    51
Variant 5 – scenario-based (similar to
      variant 4, but a few scenarios are
                  considered)




                        Process fragments are used; those may be patterns


© A. Samarin 2013   BPM for developers, v1                                  52

More Related Content

PPTX
Integration via #BPM: become friendly to #cloud
PPTX
Addressing security concerns through BPM
PPTX
Business Architecture Patterns (BPM in Practice conference)
PPTX
Incremental transformation to #digital (explicit and executable) processes
PPTX
BPM for business analysts: modelling procedure
PPTX
BPM for developers, extended
PPTX
How EA, BPM, SOA and ECM work together
PPTX
Importance of executable processes and BPMN
Integration via #BPM: become friendly to #cloud
Addressing security concerns through BPM
Business Architecture Patterns (BPM in Practice conference)
Incremental transformation to #digital (explicit and executable) processes
BPM for business analysts: modelling procedure
BPM for developers, extended
How EA, BPM, SOA and ECM work together
Importance of executable processes and BPMN

What's hot (20)

PPTX
BPM for SOA+ESB+API and cloud
PPTX
Better application architecture with #microservices and #BPM (as APaaS)
PPTX
Ladder of business process practices
PPT
Achieving synergy between BPM, SOA and EA
PPTX
Architecting digital transformation v1
PPTX
IBM BPM On Cloud demo Sept 4 2015
PPTX
Business Process Management Meets Enterprise 2 0
PDF
IBM BPM Updates - BPM 8.5.7 and BPM 8.6
PDF
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
PDF
IBM Business Process Management
PPTX
Process Analytics with Oracle BPM Suite 12c and BAM - OGh SIG SOA & BPM, 1st ...
PDF
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
PDF
BPM Benefits
PDF
Developing SAP Integration services in IBM BPM Advanced
PDF
BPM for agile development & minimizing SAP customization
PDF
How Business processes supported in BPM vs ERP
PDF
Impact 2011 2667 - Developing effective services for use in critical business...
PPT
IBM BPM off prem options
PDF
Impact 2013 2963 - IBM Business Process Manager Top Practices
PDF
Think2018 2314-Microservices and BPM-can they coexist?
BPM for SOA+ESB+API and cloud
Better application architecture with #microservices and #BPM (as APaaS)
Ladder of business process practices
Achieving synergy between BPM, SOA and EA
Architecting digital transformation v1
IBM BPM On Cloud demo Sept 4 2015
Business Process Management Meets Enterprise 2 0
IBM BPM Updates - BPM 8.5.7 and BPM 8.6
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
IBM Business Process Management
Process Analytics with Oracle BPM Suite 12c and BAM - OGh SIG SOA & BPM, 1st ...
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
BPM Benefits
Developing SAP Integration services in IBM BPM Advanced
BPM for agile development & minimizing SAP customization
How Business processes supported in BPM vs ERP
Impact 2011 2667 - Developing effective services for use in critical business...
IBM BPM off prem options
Impact 2013 2963 - IBM Business Process Manager Top Practices
Think2018 2314-Microservices and BPM-can they coexist?
Ad

Viewers also liked (17)

PPSX
Modern BPM for Process Innovation
KEY
Guide Dogs and Digital Devices
PPT
Enabling BPM Through Technology
PDF
Architecture + Process: BPM for Enterprise Architects
PDF
BPM CBOK And CBPP® Certification Overview
PDF
Best practices in BPM adoption and establishing Centre of Excellence
PPTX
Introduction to Business Process Management
PDF
Introduction to the BPM Lifecycle
PPTX
The Future of BPM: Tips, Trends & Customer Pain Points
PPTX
Introduction to Activiti BPM
PPT
BPM, SOA and EA for e-government
PDF
IBM BPM Overview
PDF
Aligning BPM and EA
PDF
What every Enterprise Architect needs to know about BPM and Workflow
PPTX
SharePoint 2013 as a BPM & Workflow Management System
PPT
What is BPM?
PDF
Introduction to Business Process Management
Modern BPM for Process Innovation
Guide Dogs and Digital Devices
Enabling BPM Through Technology
Architecture + Process: BPM for Enterprise Architects
BPM CBOK And CBPP® Certification Overview
Best practices in BPM adoption and establishing Centre of Excellence
Introduction to Business Process Management
Introduction to the BPM Lifecycle
The Future of BPM: Tips, Trends & Customer Pain Points
Introduction to Activiti BPM
BPM, SOA and EA for e-government
IBM BPM Overview
Aligning BPM and EA
What every Enterprise Architect needs to know about BPM and Workflow
SharePoint 2013 as a BPM & Workflow Management System
What is BPM?
Introduction to Business Process Management
Ad

Similar to BPM for developers (20)

PDF
2. oracle bpm soa 11g - simple - unified - complete
PDF
Respond quickly to changing business needs–Business Process Management (BPM)
PDF
Workflow tecnologies
PDF
Business Process Management Training 1
PDF
Introduction to SAP Signavio Buiness Transformation Suite
PPTX
Extend SAP processes using IBM BPM Webinar July-2016
PDF
IBM BPM integration with SAP Solution Manager - Capability & Benefits
PDF
Nextgen Bpm End to End
PDF
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
PDF
SAP Enterprise Modeling Applications (ARIS)
PDF
BPM Design Review Approach
PPSX
Introduction to SAP Signavio Process Transformation Suite
PPTX
Aufait Technologies - Introduction to BPM
PPT
Avelon Company Presentation 2011
PDF
Webinar - The continuous improvement cycle of business processes
PDF
SAP Netweaver BPM #SITANK 2011
PDF
IBM BPM & ODM
PPT
SAP BPM Neoris Bimestral Arquitectura
PPTX
Business Process Managmenet & Intelligent BPM Suites
PDF
Diagramming Change to Better Inform Business Process Renovation
2. oracle bpm soa 11g - simple - unified - complete
Respond quickly to changing business needs–Business Process Management (BPM)
Workflow tecnologies
Business Process Management Training 1
Introduction to SAP Signavio Buiness Transformation Suite
Extend SAP processes using IBM BPM Webinar July-2016
IBM BPM integration with SAP Solution Manager - Capability & Benefits
Nextgen Bpm End to End
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
SAP Enterprise Modeling Applications (ARIS)
BPM Design Review Approach
Introduction to SAP Signavio Process Transformation Suite
Aufait Technologies - Introduction to BPM
Avelon Company Presentation 2011
Webinar - The continuous improvement cycle of business processes
SAP Netweaver BPM #SITANK 2011
IBM BPM & ODM
SAP BPM Neoris Bimestral Arquitectura
Business Process Managmenet & Intelligent BPM Suites
Diagramming Change to Better Inform Business Process Renovation

More from Alexander SAMARIN (20)

PPTX
Digital Architecture Methodology for Systemic Digital Transformation (Smart C...
PPTX
Building large-scale digital repeatable systems
PPTX
Smart Cities Reference Architecture
PPTX
Building large-scale digital repeatable systems e.g Smart Cities
PPTX
Mini-course at VFU - Architecting modern digital systems - 0
PPTX
Mini-course at VFU - Architecting modern digital systems - 5
PPTX
Mini-course at VFU - Architecting modern digital systems - 4
PPTX
Mini-course at VFU - Architecting modern digital systems - 3
PPTX
Mini-course at VFU - Architecting modern digital systems - 2
PPTX
Mini-course at VFU - Architecting modern digital systems - 1
PPTX
Towards software-defined organisations
PPTX
Smart Cities from the systems point of view
PPTX
Systems architecting experience
PPTX
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...
PPTX
#bizarch from the #entarch point of view
PPTX
Help #SME becoming #digital
PDF
Technology-enabled healthcare transformation: concept paper
PPTX
Smart-city implementation reference model
PPTX
E-government reference model
PPTX
Эталонная модель электронного правительства
Digital Architecture Methodology for Systemic Digital Transformation (Smart C...
Building large-scale digital repeatable systems
Smart Cities Reference Architecture
Building large-scale digital repeatable systems e.g Smart Cities
Mini-course at VFU - Architecting modern digital systems - 0
Mini-course at VFU - Architecting modern digital systems - 5
Mini-course at VFU - Architecting modern digital systems - 4
Mini-course at VFU - Architecting modern digital systems - 3
Mini-course at VFU - Architecting modern digital systems - 2
Mini-course at VFU - Architecting modern digital systems - 1
Towards software-defined organisations
Smart Cities from the systems point of view
Systems architecting experience
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...
#bizarch from the #entarch point of view
Help #SME becoming #digital
Technology-enabled healthcare transformation: concept paper
Smart-city implementation reference model
E-government reference model
Эталонная модель электронного правительства

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Spectroscopy.pptx food analysis technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
cuic standard and advanced reporting.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
20250228 LYD VKU AI Blended-Learning.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 3 Spatial Domain Image Processing.pdf
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Spectroscopy.pptx food analysis technology
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
cuic standard and advanced reporting.pdf
Review of recent advances in non-invasive hemoglobin estimation
NewMind AI Weekly Chronicles - August'25 Week I
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
Digital-Transformation-Roadmap-for-Companies.pptx

BPM for developers

  • 1. BPM for developers: improve agility of implementations A. Samarin
  • 2. About me • An enterprise architect – From a programmer to a systems architect – Experience in scientific, international, governmental and industry environments: CERN, ISO, IOC, BUPA, Groupe Mutuel, State of Geneva, EDQM, Bund ISB, AfDB – Have created systems which work without me – Practical adviser for design and implementation of enterprise architectures and solutions • My main “tool” is a blend of: – BPM, SOA, EA, ECM, governance and strategy • Blog http://improving-bpm-systems.blogspot.com/ • PhD in computer graphics and 2 published books © A. Samarin 2013 BPM for developers, v1 2
  • 3. Agenda • BPM • Process • Coordination • Automation • Implementation model © A. Samarin 2013 BPM for developers, v1 3
  • 4. Business Process Management (BPM) is a tool for improving business performance A natural evolution of BPR, Lean, ISO 9001, 6 A multitude of tools Sigma “handle” processes The theory The tools BPM as a discipline BPM as software: The aim is to have a single (use processes to business description of BPM suite (BPMS) manage an processes: enterprise) - model in design - input for project planning and execution An enterprise portfolio - executable program for of the business coordination of work processes as well as - documentation for all the practices and tools staff members for governing the - basis for management design, execution and decisions evolution of this The practice portfolio Any process-centric enterprise has some BPM, but how can we industrialise this BPM? © A. Samarin 2013 BPM for developers, v1 4
  • 5. BPM as a management discipline (1) • BPM as a management discipline about how to use processes to manage the enterprise – 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 • Model means to make known, to describe or to communicate a plan of how to carry out future actions to obtain a desired outcome – To plan – To simulate © A. Samarin 2013 BPM for developers, v1 5
  • 6. BPM as a management discipline (2) • Automate means to instrument the proposed plan of work by some existing or new tools – To instrument • Optimise means to introduce formally justified changes – To reflect – To refactor – To improve • Those 6 BPM functions are applied iteratively and continuously © A. Samarin 2013 BPM for developers, v1 6
  • 7. Feedback improvement loop • An enterprise is a complex, dynamic and adaptive system; one can improve it by: – measuring – observing – deciding – implementing 2 3 4 1 © A. Samarin 2013 BPM for developers, v1 7
  • 8. Process improvement disciplines © A. Samarin 2013 BPM for developers, v1 8
  • 9. Process-oriented view of an enterprise (before BPM) © A. Samarin 2013 BPM for developers, v1 9
  • 10. Process-oriented view of an enterprise (with BPM) © A. Samarin 2013 BPM for developers, v1 10
  • 11. Process-oriented view of an enterprise (with BPM) © A. Samarin 2013 BPM for developers, v1 11
  • 12. BPM suite components © A. Samarin 2013 BPM for developers, v1 12
  • 13. BPM suite components (extended list) © A. Samarin 2013 BPM for developers, v1 13
  • 14. Be ready for common (mis-)understanding © A. Samarin 2013 BPM for developers, v1 14
  • 15. Process anatomy (1) • The business is driven by events • For each event there is a process to be executed • Process coordinates execution of activities • The execution is carried out in accordance with business rules © A. Samarin 2013 BPM for developers, v1 15
  • 16. Process anatomy (2) • Each business activity operates with some business objects • A group of staff member (business role) is responsible for the execution of each activity • The execution of business processes produces audit trails • Audit trails (which are very detailed) are also used for the calculation of Key Performance Indicators (KPIs) © A. Samarin 2013 BPM for developers, v1 16
  • 17. Process templates and instances • Process template – a formal description of the process Templates Instances and their • Process instance – versions enactment of a process template • Different variations of relationship between template and instance © A. Samarin 2013 BPM for developers, v1 17
  • 18. Different enterprise artefacts • Business artefacts – Events Human – Processes “workflow” Data structures – Activities Roles – Roles Documents Events – Rules Rules Processes – Data & documents Services Audit trails – Audit trails KPIs – Performance indicators – Services • Organisational and technical artefacts … © A. Samarin 2013 BPM for developers, v1 18
  • 19. Business processes are complex relationships between artefacts • Who (roles) is doing What (business objects), When (coordination of activities), Why (business rules), How (business activities) and with Which Results (performance indicators) • Make these relationships explicit and executable What you model is what you execute © A. Samarin 2013 BPM for developers, v1 19
  • 20. Services and processes (1) • Services are considered to be explicitly-defined and operationally-independent units of functionality – Formal description – Operational independence – Invisible implementation © A. Samarin 2013 BPM for developers, v1 20
  • 21. Services and processes (2) • Processes are considered to be an explicitly-defined coordination of services to create a particular outcome – Formal description – Coordination © A. Samarin 2013 BPM for developers, v1 21
  • 22. Synergy between BPM and SOA (1) – structuring relationships • BPM, 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 © A. Samarin 2013 BPM for developers, v1 22
  • 23. Synergy between BPM and SOA (2) – structuring relationships • Each enterprise is a complex, dynamic, unique and “fractal” relationship between services and processes – All processes are services – Some operations of a service can be implemented as a process – A process includes services in its implementation service process © A. Samarin 2013 BPM for developers, v1 23
  • 24. Coordination between activities • Interdependencies between activities must be managed • Coordination can be: – implicit vs explicit – human vs automated – centralised vs decentralised – imperative vs declarative – strong vs weak • May change over the time (e.g. a crisis situation) © A. Samarin 2013 BPM for developers, v1 24
  • 25. Different scales of coordination • Controls on the same page • Flow of pages • Integration of services • Human workflow • Business-to-business © A. Samarin 2013 BPM for developers, v1 25
  • 26. 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. © A. Samarin 2013 BPM for developers, v1 26
  • 27. Explicit coordination techniques • template-based (or token-based) • event-based (or business-events-based) • data-based (or business-objects-based) • rule-based (or business-rules-based) • role-based (or business-roles-based) • intelligence-based (or business-intelligence-based) • goal-based (also known as purpose-based) • performance-based • community-based • etc. © A. Samarin 2013 BPM for developers, v1 27
  • 28. Coordination logic in BPMN (1) • Template-based – static connection of “flow objects” or sequence relationship (predecessor and successor) – similar to a river (upstream and downstream) – process template is an abstract description of a process © A. Samarin 2013 BPM for developers, v1 28
  • 29. Coordination logic in BPMN (2) Click for animation • Token-based – token marks elements which active at a particular time – dynamic connection of “flow objects” or synchronisation (wait for) / chronologic relationship – similar to a “flock” of ducks (split and join) – several tokens may co-exist © A. Samarin 2013 BPM for developers, v1 29
  • 30. Coordination logic in BPMN (3) Click for animation • Event-based – non-structured synchronisation between tokens – exchange of messages (signals, errors, etc.) – exception handling Wait for (catch) a message event Generate (throw) a message event © A. Samarin 2013 BPM for developers, v1 30
  • 31. Coordination logic in BPMN (4) Click for animation • Instance-based – process instance is an enactment of a process template – each instance may have different behaviour of tokens – process instances may be coordinated via event-based coordination logic © A. Samarin 2013 BPM for developers, v1 31
  • 32. Look at automation within processes • Mixing human and automated activities • Each human activity may be surrounded by two automated activities (pre-processing and post-processing) © A. Samarin 2013 BPM for developers, v1 32
  • 33. Speed of developing automation is the primary factor of agility • Explicit versioning of everything (another topic for developers) • Keep automation outside the process template (as they have different speed of changes) • Use an interpretive language for automation scripting (no need to recompile) • Use recovery loops (preserve instance, carry out quick corrections in “this” instance) • Smart error handling (bypass some levels of support) © A. Samarin 2013 BPM for developers, v1 33
  • 34. More tricks • Combine static and dynamic programming languages • Use the strong typing, introspection, no exotic features • Use external (to process engine) universal program (robot) to execute automation scripts (scalability) • Assign automated activities to robots (potential use of specialised robots) • Multiple robots (load balancing) • Process engine queues jobs for robots • Proactive monitoring of resource availability (better to wait a little than recover from an error) • Idempotency © A. Samarin 2013 BPM for developers, v1 34
  • 35. Java and Jython codes examples © A. Samarin 2013 BPM for developers, v1 35
  • 36. Multi-layer implementation model (1) © A. Samarin 2013 BPM for developers, v1 36
  • 37. Multi-layer implementation model (2) • The business data layer comprises many pieces of information – names, dates, files, etc. • The business objects layer comprises the many objects specific to a particular business, e.g. a business partner, a product, etc. • The business routines (or regulations) layer comprises the actions which must be carried out on the business objects to perform the business activities. • The business execution layer carries out the business processes. • The business monitoring layer analyses the execution of the business process. • The business intelligence layer implements enterprise-wide planning, performance evaluation and control actions applied to the business processes. © A. Samarin 2013 BPM for developers, v1 37
  • 38. Multi-layer implementation model (3) A - SharePoint B – in-house development C – SAP ECC6 B C A © A. Samarin 2013 BPM for developers, v1 38
  • 39. Multi-layer implementation model (4) SAP BW/BI, etc. NetWeaver PI, SolMan, etc. NetWeaver BPM, etc. NetWeaver BRM, Java, ECC6, etc. XSD, Java, .Net SQL Server, Oracle, etc. © A. Samarin 2013 BPM for developers, v1 39
  • 40. Multi-layer implementation model (5) © A. Samarin 2013 BPM for developers, v1 40
  • 41. Services are externalised artefacts © A. Samarin 2013 BPM for developers, v1 41
  • 42. Categories of services (1) • Business-specific – unique business-managed processes and non-reusable IT- managed services • Business-generic – reusable business-managed processes and reusable IT-managed services • Technology-generic – advanced utilities available as IT-managed services (these services act like an insulation layer) • Technology-specific – typical basic utilities available as IT-managed services © A. Samarin 2013 BPM for developers, v1 42
  • 43. Categories of services (2) © A. Samarin 2013 BPM for developers, v1 43
  • 44. Some SOA topics and BPM • Service design -> access to BPM artefacts • Service implementation –> wrapping BPM artefacts • Transitioning beyond Basic Services -> processes • Execution and deployment -> messaging over ESB • Governance -> architecting flexible BPM systems © A. Samarin 2013 BPM for developers, v1 44
  • 45. Incremental introduction of executable processes As is Application A Application B Application C 1st iteration Application A Application B Application C 2nd iteration Application A Application B Application C 3rd iteration Application A Application B Application C To be Application A Application B Application C © A. Samarin 2013 BPM for developers, v1 45
  • 46. Integration with BI and enterprise risk management   Risk-related events, reports, alerts, indicators, etc.   Risk-related rules, logic and knowledge  Enterprise Enterprise document data warehouse management and collaboration   © A. Samarin 2013 BPM for developers, v1 46
  • 47. Thanks © A. Samarin 2013 BPM for developers, v1 47
  • 48. Variant 1 – classic (one template is used for many instances) © A. Samarin 2013 BPM for developers, v1 48
  • 49. Variant 2 – tailoring (a template is adjusted for each instance) © A. Samarin 2013 BPM for developers, v1 49
  • 50. Variant 3 – reactive (no initial template and next activity is selected based on the current situation) © A. Samarin 2013 BPM for developers, v1 50
  • 51. Variant 4 – proactive planning (similar to variant 3, but a few next activities [fragment] are executed together) © A. Samarin 2013 BPM for developers, v1 51
  • 52. Variant 5 – scenario-based (similar to variant 4, but a few scenarios are considered) Process fragments are used; those may be patterns © A. Samarin 2013 BPM for developers, v1 52

Editor's Notes

  • #41: approach-other-c