The leading technologies in the intelligent automation (IA) market continue to drive digital transformation initiatives at companies across the world at breakneck speed. The tools and platforms associated with these technologies are becoming more prevalent across all functional areas of business, not just back office and support services. The movement upstream towards performing higher complexity tasks in revenue-generating areas of organizations is a testament to the value of the market. However, the increased use and dependency on IA solutions are also forcing the development process to mature and mirror more traditional software development practices. While adopting some of these traditional practices may seem cumbersome at first, the benefits quickly become realized as automation program scales. Below are three practices/tools which have been widely adopted by the Ashling Development team.
Practice 1: Agile
Whether practicing Scrum, Kanban, or one of the countless other frameworks, adoption of an Agile project management style will increase the business value of the project by involving business stakeholders in the development process early and often. Creating a direct line of communication between process owner and developer can lead to higher quality automation, minimize future change requests, and provide a more accurate delivery timeline. Another benefit of Agile is the opportunity to work closely with other application development teams in the organization. Typically, sprints and backlogs are published to an organization-wide platform (Jira, Monday.com, Smartsheet, etc.). These platforms can serve as an informal way of identifying any upcoming changes or enhancements to applications that interact with IA. The knowledge of future application changes gives the IA team time to determine if a dependency exists or identify a future hotfix. Agile shortens the feedback loop from design thru development and testing, which means fewer issues should arise during testing cycles. One challenge can be access to systems across a multi-automation backlog.
Practice 2: DevOps
As IA initiatives become more widespread and integral, so too does the need for a fast and standardized deployment process. This problem can be solved through a DevOps solution which essentially automates all the tasks, artifact builds, and approvals associated with the deployment of automation. Once a CI/CD pipeline is built, the roadmap for future go-lives / change requests is established. In addition, many IA technologies, especially RPA, already have well documented guides on how to build pipelines using Azure and Jenkins. This can also make platform upgrades a lot more seamless.
Practice 3: Git
Adoption of Git version control for IA initiatives is becoming standard across most client engagements. The primary benefits of Git (branching, security, open source, etc.) are widely known by development teams. As Git pertains specifically to IA initiatives, a primary adoption driver is an increase in project complexity. As the scope of IA projects increase, so to does the need for parallel development efforts. The adoption of git version control forces teams to logically plan development efforts into parallel tracks which do not overlap. As work is completed, branches are merged and integration is tested, leading to a final master branch containing the collective development effort. Another adoption driver is the fact that Git is often a prerequisite for Agile / DevOps tools. For example, it is a standard practice that all commits to a Git repository reference a specific sprint or ticket for an audit trail.
In conclusion, these traditional practices being adopted by IA technologies are widespread and considered best practices because they work. They are a sign that the technology is proven and becoming mainstream across organizations everywhere.