Saturday, April 19, 2008

How to fit QA in Scrum Sprints

Many scrum teams have a tough time accommodating QA in the same sprint. They end up creating separate QA sprints and staggering it with development sprints. Thus development happens in one sprint and QA in the next. So agile, isn't it? In the true spirit of Scrum, stories should be finished with the necessary testing in the same sprint.

Here is how it happens. Let's say our sprint length is 3 weeks. We have two dedicated QA persons assigned to our project. They are a part of the team. First two weeks developers keep working on their code (and unit tests) and QA persons play ping-pong. In the third week developers start delivering code to QA. Now suddenly our QA has work! As all the tests are manual, one week doesn't suffice. Some stories get demonstrated in the sprint demo without testing! The remaining QA work then gets included in the next sprint. They finish the remnant work in a week and again play ping-pong for one week. Thus the staggered cycle continues.

There is only one way to break this cycle – QA automation. Automating tests with a tool like Selenium saves testing time considerably. It increases test development time, but it reduces testing time considerably. Thus when developers are coding, QA persons can develop automated tests instead of playing ping-pong. Once developers start delivering code to QA, all QA has to do is run the automated tests!

I have been playing with Selenium recently. It's really a great open source tool for QA automation. I found Selenium RC very useful for web based applications as it allows automated tests to run in various browser environments - Firefox, IE etc. Furthermore, Selenium tests can be developed in Ruby, Java, Javascript, Perl, PHP, Python and even .NET! QA can choose the easiest option for them.

Handling QA in Scrum environments requires a paradigm shift. Many companies don't have QA persons with coding skills. In such environments developers need to step up and develop automated tests. Gone are the days when a person went manually through each and every page of your website. Scrum requires much more efficient QA and thankfully Selenium-like tools provide the necessary technology.

24 comments:

shawns-real-life said...

Just a question for you. My approach, out of necessity here at Agilus, is that QA is running the requirements with the Project Manager. Or - they are creating the requirements for the customer. They write the requirements, provide them in the form of user stories with the requirements laid out inside the description, and then development works the white boards with the project managers and QA people to create the skeleton of the work. Once completed, the QA people are then writing test cases to the user stories they just produced while the software is being written.

The spring could be 2 weeks long. The developer sends over the modules for testing. Then the cycle begins to fix/regress the bugs and by the end of 2 weeks - you have working modules.

What are your thoughts on this? I'm in a small company so I've had to implement QA with this model and it is working. We still need automation - but at least - I'm not playing ping-pong while we gear up for purchasing automation.

We've looked at Squish and QF Test due to budgets. Any opinions on automation software? (We're primarily a java script house.)

Vaibhav Puranik said...

"development works the white boards with the project managers and QA people to create the skeleton of the work"

I am assuming that this is your sprint planning meeting. In this meeting when developers give estimates (if they give estimates), they need to understand that a work unit is not complete until it's tested and hence they should consult with a QA member and prepare a joint estimate for the work unit.

The developers also need to understand that they don't have full two weeks to finish their work as QA needs to be complete before the sprint ends. I am a big proponent of completing QA in the same sprint as I have seen it's advantages myself.

In most of the organizations there is a clear demarcation between the QA and the development. Scrum expects a cross functional team, where a QA member is part of the team - not part of a separate team as he or she is treated in most of the organizations. The QA member of the team needs to work very closely with the developers and the developers needs to cater to his/her needs such as delivering on time - much before the sprint ends or delivering partially done story if QA member can test it. The developers and the QA members should feel that they are part of the same team and developers needs to take up his/her testing share by unit testing his/her code(using JsUnit in your case as you are a JavaScript shop).

One more thing you should do is if you are not tracking estimates and velocities, you should start tracking it. It is certainly beneficial.

As far as tools are concerned, try Selenium. It's open source and free. It can be used for ajax and JavaScript testing too. Here is the link for JavaScript testing demos - http://seleniumhq.org/projects/core/demos.html

shawns-real-life said...

Wonderful information. Thanks. I'll take a look at Selenium and start tracking our velocity.

We are currently using a tool called Rally - it's an online Agile dev/pm/qa center for managing these areas.

I'm in need of more Agile education - especially since I am project managing & the QA person all-in-one.

What do you suggest in terms of effective education materials for Agile - PM, QA, SCRUM, XP... any fav's like Alistair Cogburn or others?

Vaibhav Puranik said...

My personal favorite is the Agile Software Development with Scrum by Ken Schwaber, Mike Beedle. It's a must read for all the players in a Scrum team. Also if your company can afford it register for the following course: Certified Scrum Master from the Scrum Alliance. You can also read this free book: Scrum From the Trenches

shawns-real-life said...

Will do Vaibhav and thank you again for the feedback.

Fandi Yacine said...

Hi thanks for the info but still the Qa automation tool you provided is not yet sufficient . To start making your test cases you still need the output from the dev team hence the QA is not done correctly. Qa should rather be made straight from the requirement .

Robot Framework made by NSN is quite nice .

Srilu said...

Certain software’s are so badly written that QA will find bugs instantly without a plan – defining hierarchy, elements etc. And that is when they start to believe that they have done their job.
I am a QA engineer - I am skilled first of all in Manual testing then in Automation. As per my experience any automation tool including Selenium is a tool that does things I want it to do. They do not perform testing but Simulate user actions. (I see QA engineers jumping in creating Checkpoints just because they have the feature without serving any purpose)
I would rather spend my time in writing up a birds eye view doc to define the hierarchy and possible elements at each stage. This doc has helped catch as many as 70 bugs in 1 day that even brought out issue with incomplete requirements.
P.s: Record and play is not the way to automate. Write your own routines so that any one on the team can create their own test set. A routine needs to be as flexible as a test case. If you know how to write a test case (which people take for granted) you will know testing as well as automating.

Scrum Process said...

Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.

Aaron said...

Look for Mike Cohn's videos on youtube. Most of them about 50 mins to an hour long. And he gives a very good overview of how scrum works in "most" places.

Anonymous said...

Hello there! I simply would like to offer you a huge thumbs
up for the excellent info you have right here on this post.
I am coming back to your site for more soon.

Feel free to surf to my web site - how long does it take to get rid of cellulite through exercise

Anonymous said...

When someone writes an article he/she keeps the idea of a user in his/her mind that how a user can know it.

Therefore that's why this piece of writing is outstdanding.
Thanks!

Feel free to surf to my blog post bdsm clubs (city-femme.com)

Anonymous said...

magnificent issues altogether, you simply gained a
emblem new reader. What might you recommend in regards to your publish that you just made some days ago?
Any positive?

My website: recording studio in montreal

angelina said...

This is such an informative article on scrum and very clearly written. Every single thought and idea is direct to the point. Perfectly laid out. Thank you for taking your time sharing this to you readers. -

Anonymous said...

This is the perfect web site for everyone who would like to find out about this
topic. You realize a whole lot its almost tough to argue
with you (not that I personally would want to…HaHa).
You definitely put a brand new spin on a topic which has been written about for many years.
Wonderful stuff, just wonderful!

Look into my blog post; stuff for free Online

Anonymous said...

Hello, I read your blogs like every week. Your writing style is witty, keep doing what you're doing!



My website: ​Tea cleanse (Wroc.pl)

Anonymous said...

Sweet blog! I found it while browsing on Yahoo News.
Do you have any suggestions on how to get listed in Yahoo News?
I've been trying for a while but I never seem to
get there! Thanks

Have a look at my homepage; landscaping front yard

Anonymous said...

Thank you for the good writeup. It in truth was once a amusement account it.
Look complex to more brought agreeable from you! By the way, how can we keep in touch?


Feel free to surf to my site ... Asian escorts in London (http://Wiki.Kmvlive.ru/index.php/Understanding_The_Art_Of_Massage_-_Tips_To_Try)

Anonymous said...

Greetings! Very useful advice within this post! It's the
little changes which will make the most significant changes.
Many thanks for sharing!

my site; steam wallet codes

Anonymous said...

What i do not realize is in truth how you are now not actually
a lot more smartly-favored than you may be right now.
You are very intelligent. You realize therefore considerably
when it comes to this subject, made me in my view
consider it from so many numerous angles. Its like women and men are not fascinated except it's something to accomplish with Girl gaga!
Your personal stuffs excellent. All the time maintain it up!



My weblog :: extends male enhancement

Anonymous said...

you neediness the nearly pleasant attire. head bound to consumer goods it, evenhanded keep it.
Never take or propel absent any connectedness you throw to buy the holding that create practice easier.Tips For Creating The unadulterated fight environ Can Be easily With These proficient SEO
Tips And proposal To aid You cheap ray ban sunglasses Cheap Oakley Sunglasses Cheap Ray Ban Sunglasses
Oakley Sunglasses Oakley Sunglasses
Oakley Sunglasses Oakley Sunglasses Outlet
If you do not tense you are departure to be a fortune.
If you are source endued with, you essential to translate what you get a bang-up dispense.
time eBay is no trammel that says thing virtually the
set. pattern is what you take a cold identify.
other than, the rewards

Here is my site - Oakley Sunglasses Cheap

Anonymous said...

The battle results splash page (see screenshot on page 3 where I talk about battles in detail) is also dramatically done.
"How much patience and toleration does our Master have. A starting pilot should be sure to upgrade the hard points on his ship when available.

Visit my web site racing rivals hack (racingrivalsnewhack.wordpress.com)

Anonymous said...

I think everything posted was actually very logical.
But, consider this, what if you wrote a catchier post title?
I mean, I don't want to tell you how to run your blog, but what if you added a title that makes people desire more?
I mean "How to fit QA in Scrum Sprints" is a little
plain. You should glance at Yahoo's front page and watch how they write post headlines to grab people
to open the links. You might add a video or a related picture or two to get readers interested about what you've
written. In my opinion, it could bring your website a little livelier.


Feel free to visit my web page make email (hi-fidelity.biz)

Anonymous said...

kate Spade outlet Marc Jacobs Handbags Outlet christian Louboutin outlet online Christian Louboutin Shoes Christian Louboutin Outlet Online Polo Ralph Lauren Outlet Prada Outlet
Mulberry Bags Prada Handbags Mac Cosmetics Wholesale Gucci Handbags Kate Spade Outlet Online Beats By Dr Dre Cheap UGGs prada handbags outlet Hermes Outlet
lebron james shoes for Sale Mac Cosmetics Cheap UGGs Boots Babyliss Big Hair
Nike Air Max Celine Bag Christian Louboutin Outlet Online Air Max Pas Cher Air Max Hermes Birkin Beats By Dr Dre Lebron James Shoes For Sale Gucci Outlet Beats By Dr Dre

Anonymous said...

You are ideally suited to jog those shared memories aand convey a true sentiment to her.
Moreover, buying online is effective and attracts less
or no taxes. Later in the secondary stage doctor prescribes the bactericidaal antibiotic tuat eradicates the bacterial infection completely.
Actually there is hardly any truth in the stories that
generic drugs arre inferior in manufacturing methodology
and quality to branded drugs. Thee main benefit of the generic drubs
is their low cost which is found to be the main reason behind the
increase in the sale of the generic drugs. similar dosage, siilar time duration, similar strength and similar instructions.


Here is my web ste ... alkaline ionized water