Monday, 17 January 2011

On Agile Misconceptions

Here’s a short paragraph I encountered in an article talking about development models and how testers fit into them:

Agile models and scrum as a lead process changes the classical concept of development phases. Furthermore, due to short time frames there is very little documentation produced.

To us as testers, this means that there is no time to write test plans or detailed test scenarios and there is no time for to perform extensive regression tests. In these models the testers are part of the mission team and responsibility to the quality of the product is of the entire team and not only of the testers.

At first glance this seems a fairly accurate description of an agile process. However there are two big Buts here.

Agile = No Documentation

This is a wide spread misconception. Agile does not means that there are no documents. On the contrary the agile Agile Manifesto specifically list documents as a valuable thing (Working software over comprehensive documentation). The only thing is that most documents undergo a radical change making them appear less like old fashion word documents and more like charts and diagrams. What does happen in many agile teams is that since there is a clear emphasis on ROI many documents fails to demonstrate their positive ROI and tends to be discarded in favor of more efficient methods of doing things.

Agile = No Time to fully test

After so many years of working with scrum it still a wonder for me that people get this one wrong. For me the biggest change that Scrum gave me is the notion of Definition Of Done. That is, that a feature is not finished until all related work is complete. And the exact scope of the needed work not only need to be declared, it should (and this is the important part) should encompass ALL things that needs to be done in order to have a fully deliverable quality software.

What do you mean that you don’t have enough time to test the feature?

if you haven’t finished testing its NOT done. The same as if you haven’t finished integrating or you haven’t finished coding or you haven’t finished documenting…

Its only Done when its DONE. The fact that the sprint has finished and the team committed to this feature does not make the feature done.


Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Walgreens Printable Coupons