Development Meets Business Process Modeling: A Q&A with IBM
Debbie Moynihan, Program Director, IBM WebSphere Business Integration Product Management was kind enough to talk to Developer.com and Gamelan.com about Business Process Modeling.
Q: What is business process modeling?
A: Business Process Modeling is a standardized means of visually depicting a business process, including the flow, decision points, business events, business logic, business context, and associated resources. A business process model enables a business to document, simulate, share, implement, measure the success, and continually improve a business process. Business process modeling tools today often enable business process simulation which can allow the business analyst to simulate different business process models and identify the model with the best ROI. Business process models also serve as guides that can be used to structure improvement activities to align business processes to business goals and objectives.
Q: How does business process modeling differ from the traditional modeling approach to application development?
A: Business process modeling enables the business users and the IT team to clearly communicate. Business process modeling focuses on the way the business is run and the processes across organizations and applications. Traditional software development modeling is targeted at one software application for the purpose of application development. Business process modeling engages the process specialists and domain experts in clearly articulating the intent of a business process in terms that relate to them and the corresponding end users involved in the process. A business process can contain process logic that can be leveraged by an application developer to either create new applications or update existing ones. With business process modeling, a business process analyst defines the requirements of an application, but they do not need to know how it will be implemented. The business analyst can view and edit the business process model from a business perspective, adding in costs, resources and business context. The integration developer can then view and edit the same process flow, adding service bindings, database calls, etc to transform the model into a run-time workflow. This approach allows the business analysts and the IT team to work together to develop flexible applications that match business requirements and provide the best ROI to the business. The business process model can also be used as input into the application development process by transforming the business process definition into standard formats such as UML, or the Unified Modeling Language that can be used by the downstream application developers.
Business process monitoring allows you to take advantage of the full value of business process modeling. Business process monitoring enables you to monitor the effectiveness of your deployed processes for continuous improvement. This holistic, process-centric approach to managing overall performance allows greater flexibility to quickly deploy the most effective business processes to meet the changing needs of your customers and business partners and to more quickly respond to competitive threats.
Q: BPM is being discussed in many development circles, what is the difference between business process management and business performance management?
A: While the acronyms are the same, Business Performance Management (BPM) really takes Business Process Management to the next level. Business Process Management is a methodology for continuous business process improvement. This includes business process modeling, business process deployment on a run-time process server, business process monitoring, and business process optimization.
Though BPM is not a single product, but a requirement of businesses to be able to understand what is affecting their performance (for example, people, processes, infrastructure, or assets), understand why it is having that effect, and take corrective action to achieve the desired business performance. A complete BPM solution is realized through a set of best practices, methods, and software built around a consistent and extensible architecture.
BPM solutions should combine market-leading software, industry expertise and best practices enabling organizations to better monitor, manage, analyze and take action to make smarter decisions, gain competitive advantage, and achieve greater performance results.
For example, process modeling allows a customer to model and simulate their business processes to get an understanding of the perspective performance before deploying them. Adding monitoring capability allows the customer to better understand actual performance, measure against key performance indicators, and react to any deviations. Adding capabilities such as analytics would enable them to do root cause analysis. Through multiple sources, role-based dashboard views, the customer has analysis of business performance data within the contextual insight of the business. This includes data from multiple sources, including external sources. Collaboration enables users to take action based on the dashboard views. While individual capabilities each provide value, integrating the capabilities provides greater value.
Q: What are the development requirements to support business process modeling?
A: The development requirements depend on the complexity of the business process model. For example, a standard business process model that will be used for documentation and discussion purposes can be created by someone with domain expertise in the business area and requires no programming skills.
However, if a business process model is going to be deployed as a run-time application, an integration specialist with basic programming skills will need to map the process model to the appropriate IT artifacts, i.e. web services bindings, calls to databases, etc. within the company or even outside of the company while also conducting unit testing and debugging on the application prior to deployment.
Q: What industry standards come into play with business process modeling?
A: The most common industry standards for business process modeling include UML, XMI, BPEL, and BPMN. More specifically:
UML: unified modeling language is OMG's most used specification and it covers not only business process modeling but also application structure and architecture modeling, and data structure. This standard allows the ability to take your business process model and share it in the context of an overall architecture model, i.e. a new business process may drive a large number of transactions to a particular underlying enterprise application and thus might impact the necessary configuration and architecture of that application.
XMI: is the XML metadata exchange. This standard is a proposal from OMG and is intended to provide a standard for enabling developers to exchange metadata information. Metadata is important to business process modeling, to enable the business analyst to have the ability to define all of the business context and relationships between different activities and artifacts in a business process flow.
BPEL: business process execution language is an XML-based language designed to enable task-sharing for distributed computing, even across multiple organizations, while using a combination of Web services. Several business process modeling tools provide the ability to export BPEL, and there are several BPEL process integration servers available today. This means that you can deploy from the modeling tool to the run-time server in native BPEL, resulting in an application that matches the business-defined process requirements and maximum ROI benefits.
BPMN: business process modeling notation provides a standard way to share process information with other business users, integration developers, customers and business partners.