The Trend Away from Rigid Platform Based Workflows to Flexible Process based Applications
|Miguel Valdés Faura in Enterprise Friday, September 26, 2014|
Over the years organizations have implemented the tenets of business processes management mainly to rein in the chaos that has proliferated inside their operations. But what does this really mean to the business side of the house?
Languages such as UML, Java, C++ and abstract methodologies like Object Oriented Programming, while necessary to implement IT solutions, are not intended for communication with business people, and so do not facilitate the necessary connection they need to have. Programmers need to find a way to make their language more understandable to the business analysts and closer to the reality of business. They need to take the lead and change the practice where one group of people defines what is needed and another group translates these requirements into executable code. The two worlds of IT and business need to understand each other to work together on solutions to business problems.
The New Business Needs
Moreover, companies need to move from a functional model to a process‐oriented model, allowing them to be more flexible and proactive to changes in their environment. Current information systems and processes rarely correspond to a transparent, cross border organization. On the contrary, these information systems replicate and reinforce the classical and functional organizational structure, where each business unit has its own applications and data silos. This of course leads to inefficiencies due to redundancy of data in different systems.
This situation can be clearly seen in platform‐based applications such as ERP systems. Wide access to technology means any company has access to solutions that were unthinkable just a few years ago.
However the major ERP vendors still base their strategy on offering the same predefined and packaged
processes to different sectors and markets, with the result that all companies have essentially the same
processes and options for management of their business models to those of their competitors. Further, these processes can be widely replicated but not easily customized. This limits the possibilities for innovation and differentiation in business models, restricts adaptability to change, constrains the capacity to work on process improvement, and inhibits the opportunity to find new competitive advantages through the highly potential strategic weapon of IT.
Business Process Management (BPM) Methodology and Business Process Management Suites (BPMS)
We live with the inflexible platform‐based applications as long as they work and the functions that they perform support our business operations. But when pressured by market competition, or by customers, suppliers or government regulations that require us to implement new functionalities, or when we seek changes to exploit new competitive advantages or to cover new markets, or because we have new processes or even new business models – anything that requires us to adapt our systems, that is when we bump against the limits of our platform‐based applications.
ERP vendors have tried to bridge these gaps by integrating workflow solutions into their systems, but these workflows are not designed to manage business processes as they are understood in BPM methodology. Because they are functional and not process‐driven, they will always be limited to the data and functions contained in the ERP.
BPM as a methodology will allow us to ensure that the processes that automated with a BPMS are aligned with the strategy, goals and business objectives of the company, and that these processes operate efficiently. This ensures the success of software developments and that they will do what they are supposed to do, and consequently eliminates the gap between what the business needs from IT and what IS technologies are capable of providing.
The BPMS platform provides a single integrated environment tool for the development and deployment of business processes through its enabling technologies: BPMN modeling tools, process engine, business rules engine, orchestration engine, analysis and simulation tools and an integration environment to connect processes with applications and external sources.
From Platform-based to Process-based Applications using BPMS
BPM and BPMSs already have a broad set of implementations in all types of businesses and sectors. The
objectives and motivations of why a company adopts BPM are very different. Some companies focus on the efficiency of being able to run their business activities and processes in order to achieve the same results with less time, materials and costs. Others want to achieve greater agility and responsiveness to change, or to move from a functional‐based to a process‐based organization.
But whether for these or for other reasons, there are many scenarios in which the adoption of BPM has helped companies achieve their goals in areas such as operational improvement, restructuring of the IT infrastructure, improvements in quality management, reduction of costs, improved production processes, improved customer service, regulatory compliance or reduction of errors due to manual data processing.
In the end, almost everything we do with software development can be seen as processes. For example, there are individual processes such as customer order reception, hotel reservations, invoicing, candidate recruitment, warranty management; or linked processes such as e‐commerce platforms, reservation systems, human resource management, cloud computing platforms, and so on.
Thus, we can use a BPMS to generate applications in an integrated development environment, without the need for specific environment designed code generation. It offers the advantage of being fully process oriented and provides all the tools necessary to model, implement, manage and control the business process life cycle. Leveraging the native capabilities of a BPMS for business process management allows the development of a process‐based application fast, efficiently and safely.
Development of Process-based Applications
To develop a process‐based application of any type, we generally respect some or all of the following steps using the different modules included in BPMS platforms:
- Model the Process
- Define Process Data
- Define Forms
- Define Business Rules
- Integration with Other Information Systems
- Define Users
- Monitoring and reporting
The Advantages of Using a BPMS to Develop process-based Applications
With the different modules that BPMSs have to address applications whose operation is governed by processes, a BPMS is generally the best choice for the development of process‐based applications. The other alternatives, both platform‐based applications and custom developed software, are costly, difficult to maintain for these projects, and do not offer the speed and adaptability offered by a BPMS. A BPMS, in addition to offering the advantages of process orientation, also has other advantages for the development of process-based applications:
- The capacity to modify the model in BPMN and automatically modify the entire application with the new changes, so any change in the business logic does not involve modifying the entire application. This dramatically reduces development and testing time for maintenance and adaptation of applications. With this capability of BPMS we abandon the monolithic view of platform-based applications and open the way to work on continuous improvement of processes.
- The capacity to manage process versions, so we can reuse existing processes to generate new or improved processes B
These BPMS capabilities result in more flexibility, less programming, more focus on the business, cost savings and reduced Time‐to ‐Market.
This new understanding of business applications development will optimize and monetize our investment in IT and ensure that Information Systems do what they have to do: to support and improve business models and strategies, without the imposed limitations of IT systems. It also means that IT is no longer perceived only as the back office or data repository that does not contribute to the competitiveness of the company.
Certainly process‐based and platform‐ based applications will coexist for a long time in blended solutions. We will continue using CRMs, ERPs and custom developments in Java and.NET, but if the solutions we need to develop are business processes, we should think about the advantages of adding a BPMS layer for process management over the existing applications in the enterprise.
Should Programmers Pack their Bags?
Using a BPMS for the development of business process applications instead of force‐fitting platform
applications or custom coding may seem to indicate that IT people have nothing to do – and that they will no longer be needed for software and systems development, as many developers and IT analysts may think when they first discover BPM.
In my opinion, the analytical ability and vision that IT people have for business will always be necessary for any BPM project. In addition, except for very simple processes with no integration with other systems, these projects require IT people. They must participate with business people in the specification and design of the processes that will be implemented, and these projects will continue to have a strong component of IT in areas such as:
- service-oriented architectures (SOA)
- process data logic and handling
- maintenance of web services repositories
- technology architectures to support the process-managed organization
- in deployment and testing in different production environments
- exception handling to ensure that instances are never interrupted by stopping the process flow or the unavailability of a Web service
All these issues need IT.
As we said before, applying the BPM perspective that a company will be as efficient as their processes, we can say now that a company will be as flexible as the IT systems that support the business.
So it seems that we will not need to pack our bags and go — unless we are heading out for a well‐earned holiday.
Read more: http://www.bonitasoft.com/
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.