Stay updated
on our blog

  • SerpicoDEV Blog

Switching to Agile Development? Don’t Forget QA

Posted on December 13th, 2012

QA Testing with AgileSo, you’ve decided to go Agile? Congratulations on taking that first step towards faster project delivery, higher quality software, and improvement on your ROI. Transitioning from the traditional waterfall approach to Agile can be an involved process but maybe the most difficult thing is making the decision to do so.  And you’ve conquered that.

Several things have to take place in this transition to Agile. Updated documentation, training, and new roles have to be defined to accommodate the change. Terms like Product Owner and Scrum Master are the new talk.

Businesses have to make this transition carefully. With so many new processes being implemented, things get overlooked and sometimes just plain forgot. One of the most important parts of the software development life cycle often falls victim to this: QA testing.

While QA testing is rarely forgotten completely in Agile development, it does require one of the biggest changes. What used to be a process of testing at the end of development with waterfall has morphed into constant testing throughout the entirety of the project. That’s a whole new way of thinking for traditional testers.

But a little massaging and nurturing of the traditional QA process can make it very successful in Agile. Here are a few tips to help make the transition smooth and successful.

Involve the Entire Agile Team

In Agile, everyone on the team—from tester to developer to product manager—needs to be aware of quality throughout the development process. Making it part of their daily workflow can lead to faster discovery and remediation of defects helping reduce time, effort, and cost in the process.

While the tester is the person in charge and ultimately responsible for the quality process, it never hurts to have another set of eyes looking at the product.

Test Early and Often

In Agile projects, development takes place in small iterations called sprints that always end with a functional release. This means testing has to take place early and often in the project. Unit tests, functional tests, load and stress tests should be included with every sprint beginning right away with the first one.

Some changes in the next sprint may require going back and testing something again. But consistent testing, even if it requires some repeat, will ensure earlier detection of issues that could otherwise stall the entire project. Earlier detection easily offsets the cost of some retesting.

Communicate, Communicate, Communicate

Sound familiar? We’ve stressed the importance of communication in the Agile setting over and over and you won’t find too many Agile pros that don’t agree. The same thing applies for QA.

Constant collaboration back and forth between QA and the development team ensures little bugs don’t turn into project-halting rework. Scrum Masters should try to create wide open communication channels with constant status updates and daily scrum meetings that makes sure everyone is on the same page. Not only will this help find defects quicker before they spin out of control, but also improve teamwork that can often speed up overall project delivery.

Oftentimes a tool such as Spotlight can help manage QA tasks and communication among the team to make sure nothing gets swept under the rug. It helps with organization and tracking of detected defects throughout the entire project.

Conclusion

QA testing can be very successful in an Agile setting and actually much more effective than with traditional waterfall. Defects can be found quicker and remedied sooner, saving the Agile team lots of headache later on. While it might be a new experience for developers and testers, the end result will be a new level of teamwork that can move software projects through the development life cycle much quicker. Plus, increased and improved teamwork just makes everyone’s job more enjoyable.

For more information on our software development services, please contact us.