Why an Agile Approach is Ideal for Robotic Process Automation?

“The perfect is often the enemy of the good”

Based on the principles published in the Agile Manifesto, the Agile approach is a culture of working that fosters:

  • Autonomy: Characterized by self-organizing, cross-functional teams that are guided by a shared purpose. Organizations typically have flat structures with clear roles.
  • Collaboration: Team members prioritize, commit, and work on a set of deliverables in complete alignment with their stakeholders.
  • Communication: Communication is usually face-to-face or through collaboration tools to share each member’s progress and discuss impediments.
  • Iterative working: Work is done iteratively with deliverables at the end of a ‘Sprint’.
  • User-centricity: Teams discuss wireframe designs and app prototypes with users from the beginning sprint and implement changes based on feedback.
  • Competence: Cross-functional teams with a mix of technical and functional skillsets work together.

Why Agile?

Agile is often seen as a solution to some of the shortcomings of the waterfall approach viz. a) Lack of flexibility, and b) lack of user feedback loop in the development process. Agile enables decisiveness on complex projects within a dynamic software development environment with changing user requirements. Teams save time otherwise spent “managing” to “get work done”. Scrum is the most widely used Agile methodology.

What are the different Scrum Roles?

  • Product Owner: Envisages and prioritizes the project deliverables by maintaining a feature list called the automation backlog. A Product Owner is accountable for project success and stakeholders’ alignment to create value.
  • Scrum Master: The Scrum Master facilitates task distribution between the Product Owner and the team, is accountable for overall productivity. A Scrum Master must ensure the team’s progress by removing impediments, conflict resolution, resource allocation, and problem resolution.

Agile — Scrum Approach to Robotic Process Automation

The RPA software is the most ideal candidate to implement using an Agile approach. But, how does it work? Processes are reviewed by the Product Owner and Process Analyst. A few processes are re-engineered to make it automatable. The Process Analyst Maps the as-is process to the to-process and breaks it down into steps and activities corresponding to each step. Click-by-click requirement with screenshots if need be are captured. The user journey through the application is mapped to the robot journey for exact similar outcomes.

  • Sprint Planning: The product owner discusses and reviews Sprint deliverables with the team. Specific cards called ‘User Stories’ representing product features that will be taken up for development in the sprint are moved from ‘Product Backlog’ to the ‘Sprint’. Each task is accorded ‘Story Points’ which is an effort estimate in man-hours. User Stories are elaborated with high-level details.
  • Sprint Refinement: Sprint user stories are refined and adapted for RPA implementation following inputs from Developers and Solution Architect. Some backlog items are rewritten. They describe dependencies, exception criteria, escalation protocols, roadblocks, and potential workarounds.
  • Daily Standups: At preferably the start of the day, the team discusses task-activities completed the previous day, obstacles, and the target task-activities of the day. Project status is transparent and there is complete accountability of team members.
  • Development of Robot: Recorder/ Workflow creation: Screen-recorders, low-code or no-code workflows based on low-level process maps, analysis of data-field characteristics, input files, configuration files, data validation, business, and system exceptions, and scripting is done at this stage.
  • API integrations / Plugins: Third-party engines or software components are integrated that facilitate cognitive RPA
  • Training: Training the solution if Machine Learning (ML) or Natural Language Processing (NLP) is used in the RPA solution
  • Testing: The RPA solution is tested for functionality, boundary conditions, reliability, recovery, and security. Test environment and test data is prepared accordingly
  • SME Acceptance: Various functional and System scenarios are tested. Volume testing may also be done.
  • User Acceptance: User tests the robot in a production-like environment and signs-off acceptance when results are as intended, and the defect list is resolved.
  • Sprint Demo: The robot demo is presented to the stakeholder at the end of each sprint. The Team and stakeholders agree on the completeness of the delivery. Feedback is incorporated into the next sprint.
  • Sprint Review: The team holds a review meeting at the end of the sprint to review progress with the Product Owner and key stakeholders
  • Sprint Retrospective: A session where the team comes together to talk about what went well over the past Sprint, what did not, and how to improve the work effort.
  • Robot Deployment in Production: Support teams are mobilized, and orchestration enablement and training carried out. Continuous delivery is a subset of agile which ensures that code is always in a deployable state. New features, configuration changes, and bug fixes can be moved into production safely, quickly, on-demand, and in a sustainable way.

Why an Agile Approach to Automation Drives RPA at Scale?

Positives

  • Agile accelerates RPA ROI due to rapid development, deployment, and lean resources.
  • The Agile team structure and communication dynamics work well for RPA which requires close co-operation between business and IT.
  • Short sprints and manageable tasks improve process-measurability and help easily plan for required outcomes in the forthcoming iteration. This arrangement works very well for RPA which is usually implemented for highly transactional high-volume tasks. Agile methodology not only delivers the required results but even helps in the creation of reusable workflows.
  • Simplifies project execution and status tracking. With Sprint User stories as Kanban cards and burn-down charts, project progress and velocity are visible to the entire team increasing co-operation amongst them
  • Nimbleness: Iterative changes can be incorporated without any fuss.
  • With agile, a final product concept does not exist at the start of the sprint. Only an MVP (Minimum Viability Product) proposition exists and is improved upon in each sprint iteratively
  • There is more room to experiment and a higher failure tolerance with Agile for RPA. This is important as various process paths may have to be evaluated.
  • Sprint retrospectives allow teams to examine their RPA effort, take stock of their RPA ability, avoid recurring errors downstream, and implement best practices.

Negatives

  • Security considerations dampen project velocity. That security is not usually factored in the early stages of development which adds to the problem. Access controls, auditability, data-protection, credential vaults must be incorporated from the very beginning.
  • More complex RPA projects require the onboarding of a Solution Architect, specialist developers, and bot orchestrators increasing team size. There could be 2 or more agile teams but managing the project scope and project execution becomes more difficult.

An agile approach to RPA knits together various stakeholders in ways more than one. This level of co-operation works well for effective RPA process-discovery, facilitates governance even at scale, and the better management of business operations. The Agile approach encourages process re-engineering and optimizations to implement RPA.

Even for large organizations with complex multi-layered business processes, Agile is best suited due to the collaboration and communication it professes.

--

--