Configuration vs. Coding: A better way to build process automation robots
Feb 12, 2019
Reframe your thinking about how to build and automate business process applications.
If you want to understand the full potential of modern digital business process capabilities, you need to consider your approach to workflow and data process automation.
This article will contrast developing your business process application using traditional coding techniques vs. adopting a set of visual tools that use a declarative approach. An approach which requires no procedural programming to configure.
The challenges and benefits of custom coding applications
Traditionally, if you needed business process functionality tailored to specific requirements not available from off-the-shelf solutions, you would have to custom code your application. An industry comprised of specialist programmers and system designers arose that leveraged the power of code to meet the unique needs of just about any business process project.
This resulted in businesses developing highly customized, one-off solutions. These solutions were initially effective, however quickly became increasingly challenging to update and maintain. The scare resource of coding skills burdens companies with ever increasing IT backlogs and budgets.
IT departments now struggle to meet deadlines as they face ever increasing demand for their services while business leaders defer mission critical updates for lack of resources. Systems that once seemed infallible become inflexible to rapidly evolving business requirements costing time, money, and ultimately eroding any competitive advantage initially promised.
With code you can have any functionality you want, as long as you have the resources and time to build and support it…
The rise of robots
Firms are now becoming aware that to remain competitive they need to harness the power of process automation through software robots (self-executing system operations) and artificial intelligence.
Consider how you will implement robots to leverage these new developments in digital transformation. Will you wait for an off-the-shelf solution to maybe come along that meets your unique needs? And risk getting left behind by the competition?
Will you build the robots yourself? Is it worth committing the resources to do that?
Will you outsource custom development to an outside firm? And trust them to grow along with you and keep your best interests in mind as your needs evolve?
Or is there another way?
A declarative configuration approach
We embrace the philosophy of conducting software application development in the abstract. Building business process and data management automation apps using a high-level declarative point-and-click editor is quicker and more flexible than writing code. This is accomplished by utilizing standardized building blocks that can be configured to satisfy any business process.
This declarative approach is similar to using Structured Query Language (SQL) in a Database Management System (DBMS) such as Oracle or MySQL. SQL is used to declare WHAT your intentions are while the DBMS determines HOW best to execute your query.
We have created an engine that also allows you to focus on what you want, using conditions to create almost any functionality, and ignore the how, as the seamless integration between interface and database takes care of the control flow.
Using this method for getting an app developed and published is quick and painless. When you use our visual editor to build an application, a database model is automatically created and deployed for you instantly in the cloud (or on premises) and the app is immediately pushed to your entire mobile device fleet.
This means you can supercharge your agile development cycles. One business analyst or operations manager can deliver functional applications into production as quickly as they can be conceived. Without specialized coding knowledge or the full resources of your IT team.
Initially, we applied our declarative configurational concept to mobile data collection via electronic forms and found considerable success as a pioneer in the field. As technology advanced, we found the same principals could be effectively applied to more robust systems.
We now offer a completely declarative workflow solutions application platform that lets you configure forms, states, operations and callouts to streamline or automate any process.
What about the robots?
Software robots, bots, robotic process automation tools… whatever you want to call them, they have been a buzzword lately but they're here to stay. Software robots, which are non-invasive and work 24/7, can execute activities in many applications with autonomy and precision. No longer do you have to do mundane repetitive data processing tasks- now your little helpers in the software will do it for you!
The concept is not really new, in fact experimentation with bots and AI has been ongoing since the 1960's. However, the complexity and coding required to automate software programs to perform useful tasks meant that it was usually out of reach for most small or mid-size firms to include in their development projects and not a common feature in off-the-shelf solutions.
As computing power continues to increase exponentially, robots are now viable for most industries and can perform any number of tasks. The question is: how do you create and "train" your robots?
As we have discussed, coding allows almost infinite possibilities. However, the procedural nature of code creates extreme complexity when you have to make changes down the road. What seems like an elegant solution to a business problem today might be a nightmare to update when conditions change tomorrow.
Let's say you have an application that is used by field staff to complete an inspection. If they find conditions A and B are true, you have set up a robotic process to update another record and send an alert to a site supervisor. But what happens when we have to consider condition C next month? The entire code structure needs to be updated and re-written.
Using a declarative tool set, it's easy to define the exact automation behavior you want. All you do is write a conditional statement to trigger your task or escalation. When an additional condition such as C comes along, just update your statement and much like the DBMS example we provided, the engine will get it right without any additional effort from you.
Database engines employ sophisticated query optimizers that evaluate many query execution plans and select the most efficient way to compute required results. Similarly Flowfinity takes care of complex optimization strategies to deliver flexible and scalable execution of robotic logic completely freeing process designers from worrying about how tasks are executed.
We love the power of code! However, with this great power also comes great cost and inflexibility. This creates significant limitations as even small amounts of custom procedural code can hold back the next iteration of your application.
By adopting a declarative approach to data and business process management, we provide a significant advantage over traditionally coded development solutions.
We have recently applied this technique to software robots that allow automatic conditional execution of tasks and escalations throughout multiple apps. This empowers you to harness robots to your advantage, without code.
Declarative configurability possesses many inherent advantages over coding. While code will always have a place in application development, we think that for many businesses that place will be increasingly diminished.
See Flowfinity's no-code declarative development platform in action here.