Skip to main content

Getting QA and Developers working closer together as one

Currently where I work there is a lot of discussions around how we can get the QA members to work closer with the developers, almost as 1. A friend demonstrated what they think, and I agree with the following:


It demonstrates where QA and Developers were 5 years ago, where we are now (where we work, I understand that it will vary dependent on the organisation and the methodology) and where we will "hopefully" be within 2 years. I don't think it's unrealistic, however, people need to have buy in and want to improve themselves.

How can we achieve that though is a big question? I think one of the major hurdles is getting QA and Develoeprs on the same level playing field, get them talking the same talk, help QAs get technical... which leads me to the next image, something that I found on the internet:



We as QAs need to get technical, we need to understand code, we need to understand system architecture, we need to be able to discuss technical solutions with developers this will make us better testers and will enable us to work closer with developers.

A common rebuttal of the above is that there are other skills that QAs need such as analysis, problem solving and it would be a shame if we lost them... to which I simply reply, why can't we have both?

How can we get more technical? There are many ways, sooo many courses are online that you can take at your own pace, you can work with the developers and ask them questions about the code they are writing, get involved in writing automated tests, create your own application to practice on the possibilities are endless.

Then there's getting developers more involved in your acceptance test writing, doing ATDD (Acceptance Test Driven Development) where the developers review the test you have written and decide whether they have Unit/Integration/JS tests around that, then you can mark that as appropriate and not have to write a UI test around it for instance. This approach helps the developers feel a part of QA and truly appreciate what it is that we bring to the table, and rather seeing us as someone who finds fault in their code, see us as someone who helps them write better code.

Another one is releasing good quality software on a consistent basis, if the team are being successful and achieving their sprint goals and releasing software then they will feel unified and feel as one. Everyone will see the value in the work everyone else is doing and in doing so, you will all become closer as a group.

Finally, and one that I think gets overlooked, is socialising as a team, going out for lunches, going out after work for drinks, just build a team spirit. It's easy to do and more often than not, it's fun to do as well. Never underestimate the power of being friendly with your coworkers/developers.

So that's some ways of how QAs and Developers can work closely together, are there any ways that you can think of that will help?





Comments

  1. I think ultimately the QA & Dev roles should merge - there is no reason why a good developer shouldn't also be responsible for ensuring the quality of their own work, and there's no reason why a good tester shouldn't be able to apply their natural analysis and problem solving skills to be able to write code. Ultimately, the goal of the two roles is the same - to produce awesome software, and the division of responsibilities between the roles seems primitive to me.

    ReplyDelete
  2. I encourage tester's to "get technical" to improve rapport within project teams, to add benefit at code reviews, and to gain a little credibility. But it is a two way street and I appreciate the challenge of bringing developers and testers together.

    We made a change recently in our organization where developers are responsible for demonstrating requirements. They demonstrate them through unit testing (either manual or automated). Where some requirements are more challenging to evaluate, the development and testing team collaborate on creating tests.

    By making this simple change, quality becomes a team sport and everyone makes a contribution to a great product.

    ReplyDelete
  3. Keep up the great work, I read few blog posts on this site and I believe that your website is really interesting and has loads of good info.
    Selenium Training Chennai
    software testing selenium training

    ReplyDelete
  4. The blog will useful to improve my knowledge about testing. Thanks for sharing this valuable blog.
    Selenium Training in Chennai | Selenium Training

    ReplyDelete

Post a Comment

Popular posts from this blog

Treating Test Code as Production Code

It's important when writing automated tests to remember that the code you write should be up to production standards, meaning any conventions that you have in place should be adhered to and that it should follow good design patterns. Too many people often say why does it have to be as good as production code, it's "Only" a test, so long as it passes then that's fine... To answer this we need to look at why we want our tests to be written in such a structured and efficient manner: - Maintainability - by making the test code structured and efficient, it becomes far easier to maintain and in doing so changes in the future can happen quickly as the test isn't linked to anything that it shouldn't be and it's easy to understand for a new set of eyes. - Durability - Again by making the tests structured they should be resistant to changes, if you change a variable name for instance then it shouldn't effect the unit test unless it absolutely has to....

Testers: Be more like a Super-Villain!

Who doesn't love a Super Hero? Talk to my son, and he'll tell you how much he loves them, talk to many adults and they'll say the same! Deep down, we all love to be the Super Hero, we all want to save the day! However, I want to talk about the flip side of Super Heroes, the Super Villains... I often play Imaginext with my son, and I (unfortunately?) am nearly always the Super Villain! Be it Lex Luthor, Joker, Two Face, Mr Freeze or The Riddler! These are all great characters and great Super Villains, but why would I want to write about Super Villains? A while ago where I worked, we had a few Super Heroes, people who would be able to come in and "fix" things that had broken and help deliver projects on time. We then shifted, we decided to do away with the Super Hero culture and try and prevent from being in that position in the first place, whilst we didn't go as far as wanting to hire Super Villains, it's definitely a story that has stuck with me and t...

Using BDD and gherkinising your Acceptance Tests

In my post Testing of Automated tests , I mention about a BDD framework which involves using BDD to drive your acceptance tests. BDD stands for Behaviour Driven Development.  One effective method of writing BDD tests are by using a format known as Gherkin language. These consist of Given, When, Thens. The main advantage of the gherkin language is that it's readable by the business, and in an ideal world forms part of the Conditions of Acceptance around a PBI. Also, using a Visual Studio plugin of SpecFlow , you can integrate your Gherkinised COAs into your solution with feature files, and then drive the automated tests, however, for this post I will focus solely on how to effectively gherkinise your acceptance tests. A Feature file consists of a feature outline, which details what the feature file is testing followed by Scenarios and examples (parameters).  The BDD scenarios are made up of a Given, When, Then... These are effectively an initial state (Given), an action (W...