Do you assess automation project often or enough?

“We only see what we know.” — Goethe
The above quote from Goethe is apt when we assess a project. So, a detailed analysis of problem statements or the goals of automation will be instrumental in achieving success. In the current competitive environment, organisations need to assess the best strategy to implement test automation. With application development becoming more and more complex, and emphasis on simplicity, speed and error-free software, automation of the application is also becoming a compound of different tools and setup.
“Strategy is figuring out what not to do.” — Steve Jobs
Automation goals play a major role in defining the path ahead and one should spend a considerable amount of time defining the goals if it is not known.
Along with the goal, it is very important to understand different factors, which ensures that the automation project is successful and working.
Automation strategy, plan, tools selection, framework, skills, and process needs to be well planned to get the maximum ROI and enable faster rollout of the test reports. And many a time due to different factors, organisation fall behind on their plans.
It is very important to do an assessment and see if the automation project is delivering the expected results concerning ROI, efficiency, and quality.
In long-running projects, it is vital to plan due diligence of automation periodically to ensure the above performance indexes are met as expected.
The three pillars of any assessment would be to examine how the skills are distributed, the process, and the technologies being used. Let’s look at each of these in brief.
Technology
As technologies are the building blocks of any project, we need to look carefully at how the current technologies that are being used(or the proposed one), fairs under different criteria.
It is very necessary to make an informed decision of different features to be included, tools to be used, languages to be chosen or the different reporting modules to be included.
A thorough and deep dive of technologies used in different areas need to be assessed for below the criteria.
Scalability
Integrations
Performance
Ease of use
Ease of Reporting
Ease of Execution
Maintainability
It is important to assess each entity on these above criteria wherever applicable.
Understanding the tools, framework, coding languages, and the complexity and features associated with it can give a deeper understanding of the underlying problem if any. Careful study will unearth most of them.
Process
One of the most complex pieces to do an assessment. Why? Because the process can be introduced based on the industry the company serves.
For example: Pharma and banking companies may have too many security-related processes which may be a hindrance to faster roll out of the products or if the application is customer-facing then due to the need of incorporating changes faster or bug fix, the application may undergo frequent changes.
Detailed due diligence would be required, to carve out possible bottlenecks in processes.
When doing process assessment it is necessary to see what is working or may work and what is that which is not serving the purpose.
Understand, if the bottle necks can be eleminated and chalk out a detailed way to address it. Or if it is a necessary step, then see if there is an alternative way to do it.
Development process
Test development process
Test onboarding process
Release process
Review process
Execution process
In conjunction with the above process, it is also necessary to see if the team is collaborating more, asking more for help, celebrating success or failure equally, and involved in constant learning to know and adapt to new tools and techniques in automation.
Skills
Depending on the size of the project, different skills will be required. There can be a team of people each with different skills or only one or two people working on all the roles. So it is really necessary to assess the situation and future aspects carefuly to chalk out the best team and the required skills.
Coding skills
Team management
Testing skills
Test and project management
Architect
An efficient and skillful team is a must for the success of a project. One should not leave any stone unturned to build the best team. It is also advisable to choose technology based on the skills a company already has or if needed re-skill. A well thought and informed decision will ensure that everyone contributes their share, is well motivated, and takes pride in their work.
A definite path to success
With the above methodology of assessments, the grey area of automation minimizes with little or less chance of failures. With this approach, we study the modalities of SUT, current processes, architectures, reporting and the staffing structure to bring the best in all areas. We will recognize, what is working well and where we need to pay heed. Our end results/goals being, to bring more stability and efficiency, we should make informed decisions in all direction.
Originally Published in Medium

