Every time I read about quality and testing initiatives in companies, I am reminded of an old story I read about how traders in America would set sail from the harbor and then stop after just an hour of the voyage. The purpose was to take stock of the inventory in case they missed something. Going back after an hour of the voyage was surely easier than continuing the journey only to realize that they ran out of supplies in the middle of the sea!
The simple idea of rechecking the inventory is the basis of quality assurance for companies. Teams work together to constantly check their work to nip the problem in the bud.
But in my experience of working with software development teams, I have noticed that even agile teams tend to put testing at the end of the development process. This results in a long feedback loop, creating waste.
On the same wavelength
I think DevOps changed the scenario by bringing the important stakeholders in the software development process on the same table. Simply put, it helped people from the Development and the Operations team to discuss the requirements early in the process and helped in avoiding last-minute surprises.
ATDD (Acceptance Test Driven Development), further created a cohesive force between the most important players in the software development life cycle; business, operations, development, and testing.
ATDD helps them to start testing early in the development processes by helping them to ask important questions early. These questions become the basis of acceptance criteria that lay down the specifications for the final product.
Acceptance Criteria help the testing team to align testing with the final product features and fix bugs iteratively without any major interruptions in the process. It also helps in setting the scope on requirements, which prevents scope creep.
Setting an example
ATDD employs a technique called example mapping to brainstorm ideas and bring out questions and suggestions from team members. The process is very creative with examples jotted down on sticky notes and pinned to the board.
Team members keep adding to the suggestions to agree on the product features and create plan for developing the product. With the testing team also involved actively in the process, testing is no longer at the mercy of development and operations team.
Making it simple
ATDD helps business to score on different fronts like reduced time spent on testing, lesser amount of rework, reduced time-to-market, and enhanced customer satisfaction.
Surely, ATDD is a refreshing approach towards product development and testing, which takes monotony away from testing and infuses creativity. Asking the right questions early in the development journey improves the chances of successful completion of the process.
It is also a welcome change for the testing teams in companies. They are now more involved in the process and can voice their opinions early. Quality check at the start will surely make the rest of the voyage smoother.