Blog on SOA, Cloud Computing and other IT architectural issues, technologies and trends.

Saturday, October 31, 2015

Traditional Business Process Management solutions: Dead End or Reinvention?

Ford assembly line, 1913Source: Wikipedia

Are traditional BPM solutions still relevant or new approach is a must? I am not the only one who asks the question above.According to Gartner's analyst, Janet Hill, Traditional BPM is the past and "Improvisational Process" is the future. "Improvisational Process" is less structured and more Agile than Traditional BPM. Traditional BPM aims at more Automation and Process improvement and kills Innovation. Let us try to answer the question above. In order to understand the issue I will use an analogy between Software Development and BPM Software Development.First stage: AutomationThe Typical Software developed in the 1950s automated simple organizational tasks. For example, instead of calculating profits by adding data manually, the data was entered into the computer and a programed calculation routine was executed. Another simple example is a report. Instead of writing it manually, including data and calculations such as summing numbers the report was built and printed by software executed.The main goal was Automation. The Business functions were coded and could be executed each time on different set of Data.The first generation of Work flow applications and afterwards BPM applications is very similar to the first Software stage.

The Business Processes were represented by Software. The goal was Automation of as much as possible tasks and sub-processes.The software developed 50 or 60 years ago was developed from scratch.BPM applications were developed as a layer above existing software, therefore the lack of Visibility challenge characterized BPM systems and was irrelevant to old software systems developed from scratch. Second stage: ImprovementInformation Technology systems functionality could be enhanced easier than manual systems functionality. Functionality improvements were the next step of the IT systems.Ease of extensions is applicable to BPM systems, as well, therefore processes improvements followed processes cloning to IT systems. A Business user who can see the representation of a process on a screen could think of process improvements and sometimes could even simulate them.Next and current stages of IT systems: ComplexityThe focus of this post is the future of BPM and not step by step evolution of IT systems, therefore many stages of IT systems evolution are encapsulated in a single paragraph. The improved IT Systems was extended gradually until they were large Monolithic systems or Silo systems. The main problems of Monolithic Systems are: difficulty of maintenance, development takes too long time and difficulty of Integration with other systems.Systems and Data Integration was a must and is more important in a Connected World, due to PCs, Internet and emerging Channels, Technologies and Platforms such as Smart Phones, Internet of Things, Big Data and Wearables. Handling IT Systems ComplexityAgility is the key for Coping with Complexity.

1. Handling Complexity by dividing the Systems and/or smaller Systems entities to ComponentsThe Components could be Reused and their boundaries are well defined.The following Technologies and Architectures are examples of dividing large IT entities to smaller Components. Object Oriented Development (composed of Classes and Objects, Inheritance and Methods), Components Based Development (CBD) which is based on Components and Components Reuse, Service Oriented Architecture composing an Enterprise or a Virtual Enterprise from SOA Services and Micro Services, a new approach of developing an application as a suite of small Services. 2. Shortening Development timeQuicker development is complementing systems division to composable component.The unrealistic ideal is assembling pre built components to systems without developing any new components.Agile Development and RAD (Rapid Application Development) are more sensible approaches for shortening systems Development time.Next and current stages of BPM: ComplexityThe analogy between IT Systems development and maintenance and BPM systems development and maintenance is not perfect, however Complexity characterized these two systems types.BPM should handle the whole life cycle of Processes, as well as More complex Use Cases such as Case Management Processes and Intelligent Business Operations.Previous posts described the new Use Cases and the growing Complexity.For example, read the following posts: Case Management - The missing topic in STKI Summit 2011BPMS Next Generation:IBPMSIBPMS updated Vendors PositioningUnstructured Processes, whose flow is by Knowledge Workers decisions, are the focus of many BPM initiatives. Developing and maintaining such processes is beyond traditional BPM software capabilities. Handling BPM Complexity1. Shortening Development timeShortening Times to Deployment of BPM is crucial, so the term Agility is often used when BPM is discussed.In a post titled: BPM Agility is a Must, I argued that Agile methodologies could used for developing BPM applications. Appian, an IBPMS and Case Management leader advocates the Agile approach as well. It emphasize its Unified BPM App Platform which includes User Experience as part of it in order to shorten the development time. 2. A Data First ApproachMicroPact's approach is Data before Processes. MicroPact is a Case Management vendor. After the Data Model is completed the Processes are defined. According to the company, Data First is more easily understood by Business users, so larger number of users are involved and most users involved are involved with no need for special training. The result could be more rapid adoption and iterative deployment. 3. Case Management FrameworksCase Management Frameworks is a new growing subset of the Case Management market.the Framework is composed of Layers. The top layer, Implementation Specific Logic, is the dynamic part. The Vertical Business domain and The Horizontal Business domain are less dynamic, as well as other lower layers .If this approach is good enough for an organization, it could shorten Time to Deployment and reduce maintenance costs. For more information, read the post: Case Management Frameworks: A growing subset of the Case Management market. Concluding RemarkIT systems Complexity is growing. In order to cope with it the systems architecture should be based on Components and the Development Cycle should be shortened.BPM systems Complexity is growing similar to IT systems Complexity.Traditional BPM solutions are no longer adequate for development of the new unstructured Case Management processes. According to Gartner's analyst, Janet Hill, new software should address those new "Improvisational Process" and the traditional BPM software "kills Innovation".Innovation and not Automation is the goal of current BPM implementations.The image of Ford assembly line from 1913, in the beginning of this post is a reminder: Innovation is not necessarily based on software. The innovative assembly line process saved a lot of time, money and efforts in car assembling.No BPM software was available to support Innovation.However, as the processes become more complex (unstructured Case Management Processes including Knowledge Workers decisions based on a lot of data and other people's opinions) it is more difficult to innovate without adequate software usage.