Last year (2007) I noted some emerging trends within the BPM space, the two most interesting were 1) the growing convergence of BPM and SOA initiatives and 2) BPM vendors incorporating Six Sigma tools into their suites, most notably Lombardi.
In the case of SOA vendors and clients alike realised that BPM initiatives help to identify and prioritise the services that were critical to the business, thus ensuring that the high priority items were implemented first, hence driving some form of ROI.
'In the case of Six Sigma, there is a growing realisation that BPM in itself is weak at identifying root causes of process inefficiencies; it is a technology that helps automate those processes. Six Sigma is a problem solving methodology... for improving business and organisational performance.'
Once the Six Sigma teams have identified and removed the inefficiencies the BPM project can automate the improved process. However, the key advantage of using BPM is that the labour intensive process of data collection can be automated in the new process. Analytics and dashboards can display the new process metrics maintaining the virtuous circle of process improvement.
The next innovation in BPM is composite applications, business mash up, or situational applications depending on which vendor blog page you are reading. 'A composite application consists of functionality drawn from several different sources within a service oriented architecture (SOA). The components may be individual web services, selected functions from within other applications, or entire systems whose outputs have been packaged as web services (often legacy systems); loosely coupled.'
I first came across composite applications when looking at BPM in 2004; the application was Corizon and it sounded much like the screen scrapping technology that was used in conjunction with old workflow applications. Screen scraping was a crude method of 'reading text data from a computer display terminal's screen.
This was generally done by reading the terminal's memory through its auxiliary port, or by connecting the terminal output port of one computer system to an input port on another'. In this way users had access to data from miscellaneous applications in order to make a decision. This integration is intensive and error prone elongating delivery timescales.
Now a host of products such as Corizon, Denodo, Serena and Encanvas enable a new era of connectivity based on service oriented architectures and web services to allow discrete pieces of functionality hitherto locked away in monolithic ERP or mainframe applications to be called upon when ever and wherever they are required by the end users.
In fact the new applications have been dubbed 'user centric' because not only are they typically built by end users, the functionality may also be built for that specific user or group, created on the fly for one specific purpose and then thrown away.
Typically, situational applications:
- Serve and support projects, teams, interim situations;
- Usually, but not always, have a relatively short life span;
- Are frequently created within the group where they are used, sometimes by the users themselves;
- Evolve to accommodate changes in process and user requirements;
- Can be abandoned when redundant - their low cost of creation allows this;
- Are sufficiently robust to - when relevant - become 'core' applications themselves;
- Must be really economic to produce.
Composite applications are being seen as the saviours of IT driven SOA initiatives. In a survey by David O'Connell, senior analyst at Nucleus Research, Nucleues found that only one third of service-oriented architecture projects deliver a return on investment.
The survey quizzed 106 organisations on their use of SOA development practices, and only 37 per cent of those that had done so reported any RoI; the reason being that developers rarely liked using code developed by others.
There was some increase developer productivity in 28 per cent of the respondent organisations that were using SOA, but in many cases it was not sufficient to justify the cost of SOA adoption and according to the research, only 32 per cent of published services are reused. Code reuse is often put forward as the principle cost benefit of SOA.
According to Serena composite applications, much like BPM, integrate data, people and process. IT must supply the SOA framework making business services available to processes; the users then take over and assemble the services as dictated by activities needed to meet some business objective.
The organisation gains by rapid development and decreased implementation times, clearing the so called 'long tail' backlog of IT projects. These are projects that never see the light of development because traditional development methodologies make them too expensive or cannot deliver them in a meaningful timeframe.
'The ability to create and edit composite applications allows users to easily integrate different types of components and technologies therefore dramatically reducing the cost of development' turning previously uneconomic projects into viable options because they can now be delivered by business users, with little or help from IT, at significantly reduced costs in dramatically reduced timescales.
There are three main types of composite applications according to IBM;
- Cross application;
- Cross enterprise.
Cross application allows the user to merge data fields, for example from Siebel CRM with SAP order management, cross-channel applications integrate processes across the web such as client and mobile devices, while cross enterprise applications 'enable organisations to deploy end to end business processes spanning different business partners or multiple business units...'
The reason why composite applications are able to achieve these levels of flexibility is that they introduce into the architectural mix a concept called 'UI Orchestration'. 'It allows', says David Davies of Corizon, 'the presentation layer of any existing applications - browser or windows based - to be broken down into service enabled components and then rearranged, along with functionality from other applications.'
The main difference between BPM and composite applications appears to be in the area of reporting simulation and analytics. Although even this distinction is starting to blur, BPM applications stress the round tripping aspect of process improvement, providing the metrics to analyse and identify the cause of process inefficiencies.
Mash-ups emphasise the drag and drop capabilities of application development, stressing that applications can almost be put together at will and disregarded when no longer required or fit for purpose.
The Gartner top ten IT trends still sites BPM at number four while composite applications are moving up the list at number six. The reason for this may be in part due to the philosophical and architectural similarities of the two technologies; both stress the importance of a process based approach, one that is driven by business users, dictate the priority of the services to be deployed.
Both leverage SOA backbones, and/or use web services as the integration protocol. Both promise radical reductions in deployment times through re use of existing functionality. The critical advantage of composite applications appears to be the rich user interface that is itself a re-useable service and contains functionality that the end user can fashion to achieve a particular goal.
BPM systems tend to focus on additional tools, such as business activity monitoring and simulation to assist in continuous improvement cycles. Interestingly IBM addresses this point in their five principles of composite process design stressing that a user should seek to 'improve the process constantly using methods like Six Sigma.'
Gartner warns that implementing composite applications is not immune to challenges 'relevant skills are hard to find, and users must deploy a complex, end-to-end application infrastructure that combines user interface management, integration technology, composition and orchestration, development tools and other components.
Frequently, modern composite-application projects also take advantage of business process management-enabling technology to more closely reflect users' needs through collaboration between business and IT throughout the process life cycle.'