In this article:
Tips for a successful implementation
Developing the usual “plan” allows us to create a set of objectives and deadlines to ensure implementation is successful, but when presenting that plan, the overriding question is: When will we see the results?
So, based on experience, a plan for this type of activity undergoes so many changes that it’s better not to handle as one large plan, but rather smaller plans focusing on each system to be automated (Sprint type).
Initially, many of us looked at Testing Automation as something very simple and we believed that adding an Automator to the team would produce a good volume of Script that would run perfectly well; the reality is very different! A Testing Automator adds much more value if it is part of an “Automation Team” that has a clear strategic objective with defined indicators to measure its progress. Additionally, you must have the right leadership skills to ensure this team runs smoothly and effectively.
Going from less to more is always a good decision; “Make the way while walking”, “slowly but surely” and “the perfect is the enemy of the good”, are phrases that apply perfectly in this situation. You have to go step by step while you configure your Automation Framework to test what works and what doesn’t.
Simplifying activities always allows for a better visualization of the team’s achievements whilst understanding the difficulties it is experiencing and supporting it in a timely manner.
It is important to give order to day-to-day activities, trying to define small daily objectives, relying, for example, on a Kanban board to manage activities and on the well-known Eisenhower Matrix to define priorities.
Below, we broadly illustrate the main activities necessary to make a good plan where we start from the macro to the level of detail necessary to do a good control and monitoring.
Define Automation Criteria and KPIs: Automation criteria must always be related to the Strategic Objectives of the initiative. Any automation of a system that does not meet the criteria will not add value and incur time wastage.
It is important to define criteria for:
- Systems to automate.
- Business Flows to automate.
Filter / Prioritize Systems to Automate: The systems that meet the criteria defined above should also be prioritized, ideally based on the value that each one will contribute to the KPIs defined to monitor the process. Applying 80/20 is a good idea in this case to show results in the short term.
Survey of Business Flows of each System: It is extremely relevant to have quantitative data about the size of the system to be automated. In this case, it is advisable to choose to count “business flows” and not “Test Cases” (we will tell you why later).
Filter Automated Flows: This activity is crucial, since again we must try to be aligned with the strategic objectives of the initiative.
Each Script that we generate must add value to some KPI and must always be 100% available for execution.
Define Tools: Depending on the platforms of the systems that we are going to automate, we can now study and select the tools that will be part of our Automation Framework. In this activity the technical skill is very important since the success of the project depends on this. Choosing the wrong tools can lead to failure.
MVP / POC: Automating a simple, medium and complex flow will allow us to get an idea of the development times of a Script which will help us a lot to build a planning with solid foundations.
Overcoming the technical difficulties of this implementation will also show the skills of the team and we will be able to make the necessary adjustments.
Planning Flow Automation: Planning is not a new topic, any tool that we use to do it is valid. You have to consider that the old and reliable Excel often allows you to generate views that the available tools do not have, so it is a good complement to any tool.
Construction & PU: It is advisable to establish a “Definition of Done” clear enough to keep a good account of the state of development, for example:
- To do.
- In tests.
- Ready to run.
As part of the Continuous Improvement activities, in this instance we can write our Recommendations or Good programming practices for our Scripts.