To ensure more stability for our Redoute Digital platform and accelerate the transformation of our website and mobile application, we have opted for lean quality practices, that has had impacts overall on the organization.
To give context, here is a list of problematics and key guidelines we followed for this transformation:
- Complexity to evolve and instability of website and mobile platform
- An initial monolithic architecture with mainframe dependency
- Pressure to open new stores and streamline supply chain processes
- Need to evolve to frictionless omnichannel customer journey.
The main priority was to accelerate the delivery of business features with stability, the decision was to organize a business and technical teams into feature teams to have multidisciplinary and autonomous units.
Each team were dedicated to a coherent functional set of features, part of a product implying that many roles and responsibilities within the organization were also changed.
The big question was therefore the role of QA in such organization.
What was the role of the QA department in an agile organization?
Feature quality is the team responsibility
In La Redoute digital platform organization, the feature team is responsible for each iteration to guarantee the testing of new features, non-regression and impacts coordination of existing ones.
We have therefore decided to integrate an automation engineer into each feature team to support that approach.
The QA or automation engineer is part of the daily life of the feature team. In this context, quality notion is changing. Quality goes far beyond meeting project specifications to focus on what really matters:
- Meeting the real needs of users
- Providing highly qualitative user experience
- Making the product successful and profitable
- Reducing operational costs by focusing only on relevant test cases
- Continuously improves every aspect of teamwork.
These changes mean that the QA manager and the QA engineer have different roles and missions to ensure a good transition to this agile organization and a multidisciplinary team.
You will find the QA manager role description in the following paragraph.
Formalize the transversal role of «QA Coach »
QA manager as a QA Coach
QA managers are accountable for quality. As the leaders of the testing departments, QA managers were known as the main focal point for all quality issues found during the SDLC and for defects found in customer environments.
In this new organization, feature teams are now accountable for the quality of their deliverables as a group and not as individuals.
The most important change for a test QA manager who moves to an agile organization is, from my point of view, to no longer being directly within the testing team and therefore focusing on keeping the attachment to the team .
Playing a transversal role as a QA Coach to improve quality process:
- Work to have a “common basis” (tools, standard documents, strategy development, processes, etc.) for testers in the different agile teams
- Define a transversal testing strategy adapted to an Agile context
- Ensure cross-functional exchanges between QAs from different feature teams to unlock dependencies and benefit from the practices in every feature team
Set the quality KPI
Metrics are the best friend of the Agile QA Manager. QA managers help the business by defining the quality KPIs and trends among the different teams. Let us review some typical examples:
- Time to market
- Team velocity compared to team capacity
- The number of bugs and their severity per iteration
- Defects found in production/customer environment
- Defects found due to miscommunication between teams
Quality metrics have another great advantage: they allow the organization to identify the weakest and most problematic areas in the process and make the necessary changes to ensure that they meet the quality standards.
Some skills QA Engineers should have
QA tester requires a wide range of technical skills
Analytical thinking
- Excellent Analytical and Problem-Solving Skills
- Thinking Outside the Box
- Willingness to Learn New Technologies
- Analyze Test Results
- Break project into reachable progress goals
- Identify Areas of Improvement
- Interpreting technical and business objectives and challenges
Good communication
Errors and bug reports must be communicated in a constructive manner because designers, PMs and developers can be sensitive
Clear and accurate written and verbal communication is a must, but a quality software assurance engineer must also have more than a little tact
- Communicate with technical and non-technical resources
- Document test cases
- Perform and document risk analysis
- Record test progress and results.
Time management skills
Part of working on a team means working with other people’s timelines and finishing your work in a reasonable amount of time. Since you don’t know when a problem might arise, keeping on schedule takes strong time management skills.
- Work Efficiently in a Fast-Paced Environment
- Ability to Work Independently and in a Team-Based Environment.
Technical Skills
To be a software quality assurance engineer, you have to thoroughly understand the software you are working with, as well as any number of related tools. Which programming languages, tools, and techniques you have to know may change rapidly; an online list is likely to get out of date quickly. If you are ready to work in the field, you’ll know how to find out what’s current, and have top-notch technical skills such as these:
- Ability to work with various QA/Testing tools and technologies
- Create Test Plans
- Understanding of SQL Scripts and able to write SQL to work with various Databases.
- Develop Standards and Procedures to Determine Product Quality and Release Readiness
- Discover Bugs Within Software
- Drive Innovation and Streamline Overall Testing Process
- Experience with Agile Development Process.
Results of this new organization and businesses benefits
QA engineer is working more closely with developers than ever before. If you find a defect, the team is working together on the same code and user story to provide working software at the end of the sprint.
He is also sometimes needed to help members of the team who require assistance in completing a user story that has not progressed.
Main business benefits of this new integration:
- Faster time-to-market. It may seem counterintuitive to say that the extra step of QA can actually reduce your production time, but it’s true. When you use a continuous testing strategy, you catch small problems before they become big issues that require a lot of extra time to address.
- Lower development costs. When you test for bugs in the initial development stages, you reduce the possibility of ending up with problematic code that requires a costly rework.
What are the current QA engineer challenges at La Redoute?
La Redoute is the preferred digital platform of the families, working to continuously improve and reinvent its value proposition. Delivering software with Quality and Speed is a must-have to accelerate our digital transformation.
In our context, QA engineers have to improve their testing and quality contributions to deliver software faster with higher quality, adapting to the challenge of each feature teams, while maintaining an alignment of the practices.