Navigating the Fast Lane: Strategies for Agile Software Testing in Retail
As consumer behaviour continues to shift and evolve rapidly, so in turn does the landscape of Software Engineering. Covid fast-tracked digital transformation for many retailers, leading to mass replacement of legacy systems, and a surge in development of new apps, transactional websites and commerce platforms.
In many cases these initiatives have become the focal point of IT teams' efforts, as they strive to align their technological infrastructure with the evolving demands of the market, which encompass moving at speed and delivering exceptional customer experiences.
The need for speed and the pressure to deliver
This need for speed and pressure to deliver products to market faster than before is most acutely felt by the testing teams on projects. In the rush to meet tight deadlines, a project’s key testing phase is often reviewed and condensed to focus only on risk areas rather than the full cycle that the project requires.
At PMC we have seen a surge in demand for testing services as retailers engage us to augment their existing capabilities and speed up their time to market for product releases.
This is of course a service we are all too happy to provide. However, as we reflect on the year ahead and anticipate the market demands, we are sharing the key principles that can extract the most value from your Software Engineering teams, ensuring quality product development across the board.
Embrace agile approaches
In recent years, and out of sheer necessity, software testing has undergone a transformative evolution. Traditional silos between Testing or Quality Assurance (QA) and development teams have dissolved, making way for a more integrated approach. Agile engineering teams now house both QA and development teams, working collaboratively side by side. This shift is a practice we advocate for, and this cohesive approach to Software Engineering is paving the way for a more coherent development process, and more often than not, a better final product, delivered at a quicker pace.
Tailored approaches should be a bare minimum
All good work is unique, and testing is no exception. We are often asked to quote costs based on lines of test scripts or estimated timeframes which we are happy to do. However, past experiences have shown us that we are able to provide more accuracy and value to our customers, by offering a tailored approach which starts with a discovery.
When approaching a test strategy for a new customer, a discovery enables us to understand the requirement, what the customer wants to achieve and how they like to work. It also stops us quoting for un-needed work, and can provide useful insight that can shape the requirements gathering process for the customer.
Understanding the historical context of testing is also important, especially when working with a customer who might be migrating away from a legacy system after using it for an extended period. In these cases we’ll often provide a gap analysis between how old or existing systems might function compared to new functionality they might want to achieve, as we find this can also draw out potential issues that can help shape the entire software development lifecycle.
Understand the value of automation testing
While speed to market is imperative, the quality of the product remains paramount in ensuring customer retention. The game-changer for most businesses in achieving this delicate balance is automation testing. However, its benefits require advanced planning and a medium-to-long-term vision due to the initial investment in automation infrastructure required to unlock its potential.
A common misconception surrounding automation testing is that it replaces manual testing. In reality, both are indispensable. Manual testing assesses new behaviours and functionality, ensuring a nuanced understanding of the system, while automation testing comes into play to automate established functionalities, tackling repetitive tasks. Running the two testing approaches side by side is complementary, with automation handling the repetitive work and freeing up manual testers to explore new functionalities – a more engaging task that aids in staff retention.
Know your timeframes upfront and plan for them
For retailers aiming for rapid deployment, be upfront about this, and then embed it into your go-to-market approach. There are many strategies that can support with this; however they need to be baked into your processes and ways of working from the start. Trying to implement them later on is ineffective.
Risk-based testing is gaining prominence in software engineering as a means of optimising test efficiency. This approach focuses testing efforts on features or components of the software with the highest level of risk. By directing resources towards the most critical areas, it not only streamlines efficiency but also aids in prioritisation, optimising overall test coverage.
Iterative release cycles are another way we are seeing retailers cut their time to market. This is where software is released in small, iterative modules rather than as entire systems. This approach allows for continuous testing and development, ensuring a more flexible and adaptive approach to changing market demands. However, its feasibility hinges on a well-planned strategy from the outset and organisational structures that support iterative development.
Acknowledge the unique challenge of retail
The retail sector stands out for its complexity, requiring software engineering teams to develop systems that seamlessly integrate aspects of banking, e-commerce, and everything in between. In our experience of working with retailers, domain knowledge has proven to be a game-changer, significantly enhancing project efficiency.
By providing insights into how systems should be built from the ground up, domain knowledge allows for the identification of bugs even before they reach the development stage. A recent project we were involved in highlighted this:
A customer requirement relating to tender type was raising issues in the test environment suggesting the need for the entire system flow to be changed, potentially leading to delays in the go-live phase. Upon closer examination, we found that the problem stemmed from the misclassification of the tender type, revealing a flaw in the system design. If a testing team with strong domain knowledge had been introduced earlier on, this could have been rectified in the design phase, averting complications during implementation.
Navigating the future of software testing
In conclusion, as the digital landscape continues to change, the challenges and opportunities in software testing demand a strategic and adaptive approach. The need for speed, coupled with the pressure to deliver exceptional customer experiences, underscores the pivotal role of testing teams. Embracing agile methodologies, tailoring testing strategies to project uniqueness, and understanding the synergy between manual and automation testing are crucial elements for success. Effective planning, acknowledgment of the unique challenges in retail, and a commitment to early testing integration further contribute to navigating the complexities of today's fast-paced development environments. By adopting these practices, retailers can not only keep pace with change but also lead the way in ensuring the swift delivery of high-quality software products.
Nigel is the Head of Testing at PMC, bringing over 20 years of crucial experience in ensuring software quality. His background in retail provides him with a practical understanding of the nuances and complexities of retail projects, allowing him to offer valuable insights and deep domain knowledge directly to our customers.