BPM Ecosystems Need Simulation and Optimization
|More Marcia Gulesian on CIO Update|
SaaS: Financial, Legal & Negotiation Issues
SOX, SOA and Executive Behavior
IT Forecasts, Budgets and Post Audits
Yet Another Business Case For Proactive IT Capacity Planning
If you want to comment on these or any other articles you see on CIO Update, we'd like to hear from you in our IT Management Forum. Thanks for reading.
Much of what we call business is actually a collection of processes, such as purchasing, manufacturing, selling, billing, and so on. As companies grow larger, more complex, and more global, the efficient management of business processes can have an impact on profitability.
Beyond the day-to-day management, BPM can also help provide top management with an overview of business health and a read on strategic momentum. Effective BPM, and the ability to modify business processes dynamically, is a sought-after goal in that it provides business agility. In this context, agility means the ability to change and adapt to market conditions faster than the competition.
BPM allows processes to be automated without programming, based on graphical designs that combine human tasks, application integration, and business rules.
In the first section of this article, Ill present an overview of the advances in technology that have enabled BPM systems to evolve. In the second, Ill show how future advances in business efficiency will come from simulation and optimization tools that help to improve the underlying business processes.
Aligning IT and Business Goals
So, if you dont get the following right optimum quantity discount, price response to currency fluctuation, optimum product bundling what good is an improvement in, for example, time to complete the entire sales cycle?
The first rule of any technology is that automation applied to an efficient operation will magnify the efficiency. The second rule is that automation applied to an inefficient operation will magnify the inefficiency.
Many companies have no idea what an entire end-to-end process looks like, or why things are done the way they are. In most cases, the processes in place today were put in place long ago, before the Web, virtual teams, Blackberries, and outsourcing began to affect the workplace. Modeling gives the business the opportunity to rethink and simplify before plunging into design.
Ideally, business goals ought to reign supreme in business. The CEO should be able to make a deal with a new partner or swap out a poorly performing part of the supply chain without IT constraints. The board of directors should be able to approve a strategic acquisition without worrying that the cost of integrating the system will overshadow the financial gains of the transaction. The COO of a company should be able to dictate that a division is going to do financial reporting without having to worry about IT-based delays.SOA, BPM & ESB
With service-oriented architecture (SOA), that vision takes a big step closer to being realized.
SOA is an enterprise-scale IT architectural style that develops IT resources as business-aligned services to fulfill business needs. SOA supports service orientation, which is a way of integrating your business as linked services. Service orientation enables applications to invoke each others' behavior as services, that is, repeatable business tasks that are self-describing and discoverable, meet specified quality of service requirements, and can be managed through governance.
Whereas a component is a unit of code that can be executed to provide functionality, a service is a component that is actually running, often in its own process hosted independently from the applications that are invoking it.
Indeed, the applications themselves can be broken into parts that each run in their own process and invoke each other through services. This is a composite application, a set of related and integrated services that support a business process built on an SOA.
The drivers of BPM and SOA are quite different, though: BPM is a business-driven initiative whereas SOA is an IT-driven initiative.
A related concept is the enterprise service bus (ESB), which enables software applications running on different platforms, written in different programming languages and using different programming models, to communicate with each other, without requiring expensive, time-consuming reengineering.
An ESB enables routing and transformation to be applied to messages during transmission. It is standards-based, which helps facilitate integrating products from different vendors and avoids an SOA requiring vendor lock-in.
One of the main jobs an ESB performs is connecting together service consumers (which invoke services) with service providers (which implement services). The ESB enables a consumer to invoke a service and matches that invocation with a provider that performs the service. In this way, the consumers and providers do not need to know about each other, they just need to all connect to the ESB.
SOA and ESB are not new ideas, but rather the latest version of evolving practices for encapsulating and integrating application functionality.
The real win for an ESB over traditional solutions is its ability to scale well across business unit boundaries. Today's integrated applications need to work effectively in the extended enterprise, which includes an organization, its business partners and its customers.
That means the ability to leverage business information and utilities across systems:
Such considerations will apply even within a single organization, with different business units having made different solution choices. A centralized hub and spoke architecture (even if clustered) simply does not scale well in such an environment. Even their traditional strength of good centralized management of routing and business rules becomes a weakness when we try to deploy to a distributed cluster of hub and spoke systems.With an ESB, the enterprise has the ability to scale seamlessly from a small number of initial containers acting as aggregation points, to a multi-level network of localized integration points.
But, new platforms can quickly become a victim of their own success in that once rolled out most enterprises become wholly dependent on them, making it nearly impossible to schedule down-time for maintenance or enhancements. Any downtime can quickly impact sales, or increase costs.
The ability to manage the cost of deploying changes is key to any solution, and it is here the ESB excels again. The use of lightweight distributed containers means that new services can readily be deployed on-the-fly to remote nodes from a central server without any downtime.
It also means the use of a central message bus ensures that where services are taken offline, messages relating to active business processes will be held on a queue until processing restarts.
Older solutions, for example hub and spoke engines, may find a role as integration solutions within a business unit but an ESB is the natural solution to tie together business processes that span the enterprise and need to leverage components, in a transacted and secure way, often with different architectures and implemented in different technologies.
Standardization will allow heterogeneous components (including BPEL engines) to be plugged into different vendor's ESBs. ESB changes the economics of integration, enabling the rapid introduction of SOA disciplines with the potential for significant technical and economic benefits.
Simulation and Optimization
Your BPM process should include understanding risk in order to enable decisions that are not only most likely to succeed, but also highly beneficial. As a result, business performance management today requires predictive analytic applications that enable businesses to make decisions that maximize success while mitigating risk and understanding uncertainty.
Using modeling and simulation techniques, enables companies to gain insight into the range of possible business planning outcomes, quantify the likelihood and impact of those outcomes, and make decisions that balance risk and reward. The result is decisions of higher value.
The need for simulation optimization arises frequently in practice, given that most real world systems are too complex to analyze by trial and error. A growing number of business process management software vendors are offering simulation capabilities to extend their modeling functions and enhance their analytical proficiencies.
Simulation is positioned as a means to evaluate the impact of process changes and new processes in a model environment through the creation of what-if scenarios. Simulation is promoted to enable examination and testing of decisions prior to actually making them in the real environment. Since simulation approximates reality, it also permits the inclusion of uncertainty and variability into the forecasts of process performance.
Once a simulation model has been developed to represent a system or process, you may want to find a configuration that is best, according to some performance measure, among a set of possible choices.
For simple processes, finding the best configuration may be done by trial and error or enumeration of all possible configurations. When processes are complex, and the configuration depends on a number of strategic choices, the trial and error approach can be applied with only very limited success. In these cases, you may want to use an optimization tool to guide the search for the best configuration.The optimization of simulation models deals with the situation in which the analyst would like to find which of possibly many sets of model specifications (i.e., input parameters and/or structural assumptions) lead to optimal performance.
For example, in manufacturing, you might want to formulate an optimization model that seeks to minimize cycle time by manipulating the number of workers and machines, while restricting capital investment and operational costs as well as maintaining a minimum utilization level of all resources.
A model for this optimization problem would consist of decision variables associated with labor and machines as well as a performance measure based on a cycle time obtained from running the simulation of the manufacturing facility.
When changes are proposed to business processes in order to improve performance, the projected improvements can be simulated and optimized artificially. The sensitivity of making the changes on the ultimate objectives can be examined and quantified reducing the risk of actual implementation.
Changes may entail adding, deleting, and modifying processes, process times, resources required, schedules, work rates within processes, skill levels, and budgets.
Performance objectives may include throughput, costs, inventories, cycle times, resource and capital utilization, start-up times, cash flow, and waste.
In the context of business process management and improvement, simulation can be thought of as a way to understand and communicate the uncertainty related to making the changes while optimization provides the way to manage that uncertainty.
For further reading on this issue, an appendix that provide a hands-on discussion of simulation and optimization is available at Developer.com and an article on The Economic, Cultural and Governance Issues of SOA is available on CIO Update.
Marcia Gulesian is an IT strategist, hands-on practitioner, and advocate for business-driven architectures. She has served as software developer, project manager, CTO, and CIO. Marcia is author of well more than 100 feature articles on IT, its economics and its management, many of which appear on CIO Update.