You don’t need to be a math wizard to come to the conclusion that automation is an investment opportunity that manufacturers can’t afford to pass up. It simply doesn’t make sense to employ a human workforce to complete tasks that can be done faster, better, and cheaper by robotic counterparts. While many companies across the world have realized great efficiency through automation, many have in fact failed to capitalize on these investments by not applying them at scale across their entire operation. Though this may be no easy task, there is a solution: agile automation.
The Current State of Automation
Established software development methodologies may work well, but it doesn’t always hold water when it comes to increasingly complicated environments. The traditional workflow is to analyze, spec, design, code, and test in highly regimented phases. This approach doesn’t work so well when it comes to automation projects, and problems that arise at the end of the software development lifecycle can be exceedingly complicated and expensive to resolve.
To be fair, the approach to product development discussed above (referred to commonly as the “waterfall approach”) has worked well in the past, but it does create unnecessary risk for the viability of projects. Fortunately, a methodology exists that more efficiently integrates cross-functional teams while tearing down conventional “silos”. In a word, this methodology is known as “Scrum”.
So what does the Scrum framework look like? An agile workflow breaks down highly complex chunks of work that the cross-functional teams work on, one at a time. For software projects, taking this agile approach means that teams release iterations of the product at regular intervals, adding new, scheduled features each time. In automation, it’s not so easy, as the various components of the project need to be in place from the get-go and need to work cohesively from start to finish.
Additionally, process automation is one fraught with disruptions, meaning that changes in processes can involve a great deal of change to the roles of hundreds, if not thousands of employees, something that makes multiple iterations impractical if not infeasible. In Scrum, there is generally a project owner who will oversee the project as a whole, and who represents the end customer – the Scrum Master prioritizes work, assigns tasks, and works closely with the development teams. Process automation applied organizationally works a little differently; teams can span great distances geographically and across several business units. This, combined with the fact that automation processes are generally something new to an organization, means it can be very difficult to find a Scrum Master who possesses all the right skills.
Agile Automation at Scale
These limitations may make the agile approach seem limited in an automation environment, however some companies have chosen to tweak the traditional Scrum framework to make it more responsive for automation at scale. Here’s how companies are successfully creating automation at scale.
- Structured teams. Flexible teams are used, each team comprising of developers, testers, IT support, and business stakeholders. Each of the teams has a project manager who offers expertise in the specific automation task being worked on as well as a subject matter expert whose role is to provide knowledge from the business side.
- Design upfront. Rather than simply designing the process and letting the chips fall where they may, a concerted effort is made to fully define the process (with due consideration of how it will integrate with the company as a whole and address any potential constraints) before any development work begins.
- Trigger-driven stories. Agile processes already break down work into manageable chunks. Agile automation takes the additional step of replacing user stories with trigger-driven stories that aims to define the actions required to respond to an identified event and the output said actions will produce. By taking this approach, each group understands their respective inputs and outputs, and can therefore work in parallel (instead of sequentially) which greatly accelerates the development cycle.
- Release management. The decoupling of prototype and production software minimizes any potential disruptions to the wider organization and allows production releases to be carried out following a predetermined schedule independent of the frequent and iterative releases to a prototype or test environment.
- Program support. Since automation projects involve a great deal of organizational change, significant support is required to be in place to help other facets of the business with the transition. In this event, it is useful for companies to establish a dedicated program to provide expertise and develop a new set of standard operating procedures.
Automation is here to stay, of that there is little doubt. But companies that fail to apply their automation company-wide, aren’t getting the most out of their investment into automation. More than ever current and aspiring automation technicians needs to be equipped with the right knowledge to work in a changing, agile environment. George Brown College’s Automation Technician Certificate Training Program can help with that by supplementing and kickstarting your career.