In the first blog of this three-part series, I noted that robotic process automation (RPA) is business-driven but IT-governed. Here in this second post, I will expand on the role of enterprise IT organizations in delivering successful RPA implementations.
Selecting processes for automation and developing the capabilities may seem like the largest challenges to RPA implementation. However, from a technical perspective, numerous other issues can also delay or derail your RPA implementation. Proper planning and the right stakeholder engagement—established early in the process—are necessary to ensure that concerns as diverse as governance, DevOps and application lifecycle management (ALM) proceed smoothly.
RPA evangelists and sponsors must team up with enterprise IT—including the ALM, DevOps and release management teams—in devising the strategy to effectively move RPA capabilities to production. The adoption of RPA adds new responsibilities to enterprise IT teams, and you will need their buy-in to achieve your RPA objectives.
The role of ALM and DevOps in implementing RPA
ALM teams may look at RPA as a completely new animal within their enterprise IT kingdom. With this new technology, they wonder, how do we track issues, verify code quality or create and maintain operational documentation?
ALM teams have voiced similar concerns regarding custom applications. However, for most ALM teams, the nature of RPA—and the application aspects thereof—are less understood. Leading RPA platforms include integrated development environments (IDEs) that provide visual RPA design. This gives the impression that RPA is code-free. In fact, these IDEs produce RPA application project files usually based on XML. Developers create extensions to RPA platforms with common programming languages such as Python. Enterprises can therefore treat RPA applications (bots) and extensions just as they would custom applications, mitigating these ALM concerns by, for example, reusing preferred methodologies for application source code management and code quality management.
Balancing DevOps with traditional testing routines remains a significant concern for enterprise IT teams. Testing requirements for RPA are stringent because robots tend to execute business processes at high speeds. This speed is part of RPA’s efficiency, but also a potential downfall—errors propagate into the enterprise much more quickly than human errors, leading to costly corrections. RPA platforms do not currently lend themselves to automated testing of the RPA code base.
While DevOps merges development and operations ecosystems, RPA demands separation. Hybrid DevOps operating models that encourage agility and meld traditional testing methodologies are required for successful DevOps with RPA. As RPA implementations expand, I envision models that encourage Continuous Integration (CI) but take a more traditional system testing and deployment approach instead of a Continuous Delivery (CD) approach given inadequate test automation coverage.
RPA release management
Enterprise IT teams mandate application development teams to use enterprise release management strategies. RPA applications adhere to source code promotion, release nomenclature, system testing, user acceptance testing and related release management policies. RPA developers create and integrate RPA applications in a development environment, with testing in one or more testing environments. After adequate testing, RPA applications are finally released to perform production work.
RPA applications require enterprise authority to operate based on adherence to information security controls. However, not all enterprise IT controls fit well with RPA.
For example, I recently supported a RPA implementation that was blocked by the requirement for two-factor identification―something bots are not easily able to accommodate. I collaborated with our IT and enterprise security subject matter experts to define alternate operating environments and security controls that do not force RPA to engage mechanisms designed for human users. Our experience tells us that enterprises must budget and prioritize sufficient subject matter expert time to unblock RPA implementations.
Impacts of RPA on enterprise systems
Enterprise IT teams are sensitive to the impact of robotic activity on enterprise applications. They take on a new set of IT responsibilities including definition, documentation, credentialing and measurement of robotic activity within the enterprise. RPA implementation teams must clearly document architectural implications of RPA platform implementation. Clarity around these new responsibilities—and management of the RPA platform to scale—is essential before multiple lines of business utilize RPA. Assurance of robotic activity via audits, simplification of RPA architecture and a gradual automation approach all help teams successfully manage RPA implementations.