When an organization begins developing a custom application, they have multiple factors to consider such as the latest technology platform, methodology to be used, agility to make the enhancements, ability of business users to conceptualize and recommend, flexibility to change or enhance the application and to support the nexus of forces (social, mobility, analytics and cloud) with a faster response time. During the application development planning phase, both business and IT teams have to understand and finalize the model and approach to manage the process and speed involved in the development.
When an organization decides to go for custom development, they should consider the following key challenges:
- Custom solution will be specific to the needs of the organization
- Planning and building strategies with scalability considering various upcoming technology changes and having the agility to incorporate those changes
- Business users and IT professionals have to decide on all the requirements based on their understanding and domain knowledge at the time of developing solution
- Understanding about market trends, best practices and emerging technology
- High cost to accommodate any future changes
- Heavy dependency on the quality of code and documents available to the team for any future changes or enhancements post the system development
- The organization gets the IP of the custom application they built, but considering today’s market scenarios it will take more time to implement
- Higher cost of maintenance and expensive ways to make future changes or enhancements
Considering the challenges mentioned above and complexity involved in custom development, most organizations were looking for alternatives such as outsourcing or packaged software. While outsourcing has the same challenges, package solutions come with rigidity and don’t have flexibility and uniqueness.
Now there are new platforms which will require “no to very limited amount of coding” to build an application. They provide the opportunity to build and manage the customer expectation at much faster pace with the capabilities to make customizations in-line with changing customer expectations and market conditions and customer expectations.
Forrester has published a report to explain the trend towards new “low code” application platform to accelerate delivery, reduce the code efforts and to enable faster response to customer feedback with unified access across multichannel including mobile platforms.
One of the key platforms which will support building the complex business application with “no to very limited coding” is the BPM/case management platform. BPM /case management supports building applications with process management, workflow, form management, reports & analytics, integration with enterprise applications with access using all internal & external channels (internet, social, mobile, phone etc.).
Most of the BPM/case management products provide standard industry focused business frameworks with out-of-box products that can be deployed as early as 8-12 weeks from the decision they finalize. BPM tools provide the business frameworks with industry/process best practices and then configure organization specific processes on top of industry frameworks. This approach provides the opportunities for business users to view the industry best practices and realign their own processes.
BPM tools provide following benefits over custom development:
- Faster implementation: As mentioned earlier, BPM products can be implemented in a rapid manner and with a preliminary set of requirements.
- Best practices: BPM vendors improve their products with every implementation and market demands which are built as best practices in their products.
- Continuous improvements: Organizations can implement small or as a part of processes and continue extending and implementing end-to-end processes.
- Innovations: Vendors continuously innovate and build newer functionalities and include support for new channels and technologies.
Multiple BPM vendors have analyzed and found that it’s faster to build an application using a standard platform approach as compared to custom development. There are multiple instances to validate this. For e.g. when we built an module for FATCA compliance automation process and compared the development productivity using custom development using JAVA and jBPM platform, we found that it took around 3 man months to build the functionalities for custom development using Java as compared to just 5 weeks with jBPM for building same functionalities, which is approx. 3 times faster as compared to Java. The team found key productivity improvements on process creation and automation of data models and HTML forms. This POC gave the confidence to the team to reap bigger benefits in larger projects.
There is a similar case study where Pega (a leading BPM product company) has evaluated the development productivity comparison between Pega 7 versus Java Platform Enterprise Edition (Java EE) to build a robust business application with following objectives:
- Evaluate the ease of building the application with both the platforms
- Evaluate the effort required to make business changes to the application, and the ease of rolling back those changes
- Measure the time and effort required to:
o Build the application and debug, test, and deploy
o Change/update (maintain) the application once developed
Based on this study they have concluded that it’s 6.4 times faster to build an application in Pega 7 as compare with Java EE.
In summary, BPM / case management solutions provide a great opportunity for organizations to build applications with agility and respond faster to their customer by aligning their products and services with changing market scenarios.