Robotics Software
In recent years, there has been a lot of focus on, and writing about, “robotics software”. In this context, we mean software able to perform IT related tasks normally done by humans, and not software controlling industrial robots used when e.g. painting a car.
By Michael Gaihede, Manager | The 8th of February 2017
Artificial Intelligence and IT tasks
The concept is not to be confused with Artificial Intelligence since robotics software does not contain intelligence per se: only tasks previously specified – and in accordance with stipulated rules – are executed. Of course, it’s possible to combine the two, thereby defining new ways of performing administrative tasks, but strictly speaking this is outside the scope of robotics software, and is relevant only if, and when, a robotics software system is up and running.
What does it do?
Manual Task Conversion
Robotics software is able to perform tasks previously executed manually, thereby freeing up labor resources, and achieving a higher degree of precision with fewer mistakes. In one case, a bank implemented robotics software to be able to close customer accounts more efficiently.
Previously, several tasks had to be performed in different systems (transferring the balance to another account, cancelling automatic transfers and payment services, generating confirmation letters, etc.). Those tasks were manual because they took place in systems that did not communicate.
Robotics software is able to perform tasks previously executed manually, thereby freeing up labor resources, and achieving a higher degree of precision with fewer mistakes.
You could argue that the bank might as well had changed the systems enabling automatic account closings, but the basic problem was that no IT development resources – having the required skills and experience – were available.
SEE ALSO: Known failures in buying capital markets software packages.
How does it work?
Data Manipulation
Robotics software works by being able to e.g. read, convert and write data from a screen/window, to manipulate and work with the retrieved data, and by writing data onto a screen/window. It sounds simple, but it is not because a wide range of technologies are in play, depending on what systems are used in the relevant situation: old fashioned mainframe applications (“green screens”), Windows or UNIX systems, terminal servers, Web applications, etc.
Visual Data Processing
To retrieve data you might be dealing with “screen scraping” where bitmap or raster data is read off a screen and subsequently converted to readable text using Optical Character Recognition (OCR), by reading data directly from a Windows data-entry field, using “Web scraping” where data is retrieved from a Web browser, etc.
Other Tasks
Besides reading and writing visual data, most robotics systems can perform a large number of other tasks, without requiring the operator to have extensive IT programming skills. E.g. reading from and writing to a database, creating a data file named by the current date and time, inserting and adding a data column in an Excel spreadsheet, delivery of spreadsheet data to a Web page where a log-in is required, etc. All of those functions are collectively named “Actions” and are normally available by the hundreds in the robotics software applications.
Task Triggering
A collection of “Actions” normally constitute a “Task” like the previously mentioned bank account closing. To start a task, a “Trigger” is required. A “Trigger” consists of one or more system events: the creation of a new file in any given folder, logging a specific entry in Windows’ Event Log, insertion of a record in a database, when a certain point in time is passed, the receipt of an email from a specific sender, etc.
In the bank situation, you could imagine a homemade trigger in the shape of a small application where you could enter the account number to initiate the account closing, and the subsequent execution of all remaining Actions.
SEE ALSO: Being Agile? Really?
Task Specification
Task specification must be very precise and accurate. You have to consider and take into account almost all situations that may occur during execution. In the bank account closing example you would probably have to halt or terminate the Task if any of the constituent Actions did not complete. Similarly, you would have to log all completed activities to be able to resolve – and possibly manually repair – the Task at a later stage if unrecoverable errors occur.
Implementation Threshold
It is rarely trivial to construct robotics software tasks – had it been, it would probably not be worthwhile to automate the process at all. Normally, it requires a certain number of activities each having a certain duration to succeed (with obvious exceptions).
When to use it?
Systems Data Interchange
Robotics software solutions may be relevant if you are in a situation where you use different IT systems with a need for data interchange – and possibly rule-base data manipulation – and where system APIs neither exist nor are planned, no matter the reason.
It’s Always a Workaround
Strictly speaking, the use of robotics software always constitutes a workaround. A “real” system interface is normally preferable, because it is typically faster and more efficient, contain fewer errors, is more robust, etc.
Benefits of improving operations
Having said that, there are numerous examples of situations where robotics software has proved a really good investment, because it was possible to reduce or remove extensive manual operations with a relatively limited effort.
A lot of customers claim that employees, previously performing tasks now executed by robots, in fact experience a higher level of job satisfaction.
In addition, robotics software can operate 24/7 and can frequently be outsourced so that existing resources can be used more productively. A lot of customers claim that employees, previously performing tasks now executed by robots, in fact experience a higher level of job satisfaction since they are relieved of boring and often meaningless tasks.
What is the cost?
Configurations
Like most other software, robotics software may be purchased or leased in a variety of configurations. Several suppliers sell the software on an “as-is” basis with the customer being responsible for the development and implementation, other companies provide subscriptions with automatic periodic updates, whereas a smaller number of suppliers provide entire packages including predefined projects with associated implementation consultants.
Direct Software Costs
Consequently, the related costs are frequently very opaque. The small suppliers typically sell the software with a price tag in the range €400 – €7,000 (depending on local vs Cloud deployment, license type, etc.).
Realized Cost Reductions
The bigger market players – and their partners – typically charge on the basis of the customer’s realized cost reductions. A not uncommon scheme is to charge e.g. 1/3 of a so-called Full-Time Equivalent. I.e. if the customer obtains cost savings of two full-time employees from the implementation, the annual cost would be 2/3 of one full-time employee.
Even though total implementation costs may appear somewhat prohibitive, the customer is guaranteed a net realized cost saving – no cure no pay.
Is it Worthwhile?
Outside Assistance
If you have entered a cooperation with one of the major suppliers on an all-inclusive implementation, the answer is typically yes because the supplier carries the full implementation responsibility. It does, however, require a certain volume – and a significant, expected cost reduction – to get a supplier to undertake a robotics software project.
In-house Development Considerations
When you or your company is responsible for the development and implementation of a robotics solution, knowledge of and education in the underlying software is essential, as is the careful scrutiny of all possible scenarios that may unfold – particularly with regards to errors and omissions. Considerations are similar with “normal” software development, but more inclusive because robotics software is executed without human intervention.
SEE ALSO: When simple data collection develops into a business-critical issue
Product Usability
With regards to robot development, suppliers try to make the process as simple and easy as possible: several (primarily high-end) suppliers use workflow-like tools where Tasks are connected graphically, while other suppliers require the use of a regular programming language (Visual Basic, C#, Java, etc.) and a deeper understanding of system development.
Resource Requirements
As a possible customer you will have to assess a potential robotics software product against the development and implementation resources available for the project.
Who are the Suppliers?
All-inclusive Suppliers
Apart from the suppliers of the robotics software packages, different consulting companies offer all-inclusive implementations and include the old CPA-based companies; Ernst & Young, Accenture, KPMG and PWC.
Product Suppliers
Among the actual software suppliers, the following companies are the most widely used:
Of those, Automation Anywhere and Blue Prism must be classified as high-end products/companies – with associated price tags – while the other products are available from €400 and up. The cheaper products frequently have a 30 days trial period where the functionality may be evaluated, and/or a prototype may be developed for a specific situation/problem.
Michael Gaihede, Manager
Michael has more than 25 years of experience as a business and IT consultant, with primary focus on financial institutions.
From an early start, Michael has been involved in IT development and gradually moved into more technical IT implementation. He has extensive experience with IT, and has worked with a number of different platforms and database systems.
Michael is part of CMP’s team of strong technical IT consultants who provide our customers with key technical expertise across a wide range of technical challenges.
Read more about Michael and our other CMP consultants here.