Quite a few times we have come across customers who have moved to Agile methodology but are not sure how to implement end to end Agile techniques. Here we'd like to share one business case we've encountered.
Most of the time the Dev team is working in the agile mode but the QA Team is still working in the waterfall mode.
One of the leading global entertainment e-commerce clients wanted to revamp their online e-commerce system with additional features and digitalisation capabilities.
The software allows users or agents to buy items online for different available products; digital availability to access the products at the entertainment centre.
What were the challenges faced by the client?
The client came to Explora with some challenges like:
Difficulty in delivering a high-quality product on time because of limited testing resources and knowledge and frequently changing requirements.
To catch-up with the frequent changes in requirements, the development team went in the agile mode; however, QA couldn’t catch up and was still in the waterfall mode.
There was a gap and they wanted to expand test coverage with limited constraints in a rapid build cycle; new builds required regression testing, and they needed techniques to maximise the coverage and achieve the best outcome.
The platform testing involved testing on different browsers, desktops, mobile devices, operating systems, etc. to ensure the user experience and functionality are not affected.
The client needed a partner who could help with improving the quality of testing and flexible techniques to function testing in short notice for execution with mix of automation and limited headcounts.
What was the approach Explora Consulting followed to tackle these challenges?
Provide Agile Testing Consultation and apply leading practices on Agile CT (continuous testing) to fit their CI every 2 weeks.
Review and rework on the test cases for maximum test coverage; create a reusable test case repository.
Implement Risk Based Testing to minimise the risk by covering high risk areas in terms of business and functionality in short test cycles and they are dynamic based on test results every time.
Prepare Regression Test Suite to run in the last sprint of each release.
Prepare Sanity Test Suite to run after each build to ensure that QA team can proceed with functional / user story testing; this has automation capability with open source tools so the test scripts becomes reusable.
Perform cross browser / device / language testing for maximum test coverage in a short test cycle.
“As ironic as it seems, the challenge of a tester is to test as little as possible. Test less, but test SMARTER.”
– Federico Toledo
What is Agile Testing
Agile testing involves testing from the customer perspective as early as possible, testing early and often as code becomes available and stable enough from module level testing.
Improve visibility throughout the project life cycle
Improve quality + productivity
Continuous Testing mode to accommodate a shorter development and build cycle
New business opportunities need exploration of new concepts
Cycle time to react to customer requirements is shorter
How Explora Helped
Requirements were changing rapidly on a daily basis. There were daily builds and this could have affected the whole project quality. Hence, we made the team move from the Waterfall testing model to the Agile Testing model to be in sync with the development and requirements in the agile model:
Ensure that QA team is involved from the start of the Sprint to participate in Brainstorming sessions, Estimation and Planning.
QA Team started participating in Sprint Planning meetings to give QA estimation for each user story. Correct Dev and QA hours were then be allocated for the user story. Hence, better planning and resource allocation were possible.
Risk based testing techniques were introduced to the team to have better test coverage for functional and business process testing. More coverage with respect to the sprint can be achieved with less time.
Automation testing for Sanity and Regression was applied in the continuous testing mode, which was compliant to continuous integration and continuous deployment (CI and CD).
Explora Consulting QA Lead was responsible for all the testing co-ordination between different teams – Dev, Project team, clients and users.
Test cases, Test execution and defects found were linked to the user story; hence, end-to-end traceability from requirements to defects was established.
Our QA Team worked with the development team to troubleshoot problems found during early testing in Dev environment for critical functionality. Hence, critical defects were found and resolved at a much earlier stage.
For compatibility testing of different platforms, languages and devices, our QA lead planned test cases in such a way that the cross browser, cross language and cross platform testing can be carried out whilst having maximum coverage, and within the same timeframe of a 2-week sprint.
Three teams within the testing team were used:
Functional Testing is based on user story requirements of the sprint and to validate the features defined for the sprint by the QA team. Continuous Testing (CT) takes place to help smooth out the continuous validation, integration and deployment in a systematic pattern.
User Acceptance Testing by the business users is to verify the product features after each sprint whether it is as per their expectations. Changes, if needed, can be accommodated in the next sprint and don’t have to wait till the completion of the entire product.
Platform Regression Testing to verify the continuous changes in Agile mode has no effect on any of the existing functionality. This Regression testing was performed across multiple devices and browsers to find any negative impact due to the changes.
Benefits to the Client
Customer benefited from Agile as it ensured high customer satisfaction courtesy frequent releases and frequent feedback from the business users.
Brought all stakeholders on the ‘same page’ in terms of project progress and expectations.
Client got early access to product during the life cycle.
Greater flexibility for accommodating Change Requests.
Achieve the best quality outcome and gain better control over high risk area and ensure that the whole solution can meet the quality and time manner.
With Explora’s help, the client was able to utilise the best use of tools in all spectrums, get high-quality product within Product release deadlines.
Learnings from This Experience
In this process, we have learned that Scrum Master and Product Owner’s role are important parts of an efficient Agile team.
Having a well-defined Product Backlog and an up-to-date Product and Sprint Roadmap provides a much higher degree of vision and flexibility to everyone involved in the project - the team, management, and the clients.
Explora’s team has realised that feedback and collaboration is critical in Agile Methodology. At all levels of the organisation and external client base, constant communication and feedback are truly valuable.
Agile methodology and agile tools encourage traceability between the requirements, test cases and bugs, and hence better coverage.
If you are interested to know more on these topics, please contact Explora Consulting and we will be glad to discuss with you about solutions that can bring value to both your IT department and your business users.