19

I noticed that there are no dedicated QAs in the stackexchange team.

Since they are indeed making an awesome product, I wonder: When is it possible to have an absence of dedicated quality assurance people, without leading to decreased quality of the delivered software?

14 Answers 14

15

Dedicated Testers

I think that it is important to highlight that the role of being a tester, is different to the job of being a tester.

There are many situations where you need testing, but you simply can't afford or are unable to have dedicated testers, i.e people who have that job 100% of the time.

  • You simply don't have enough testing, or resources to be able to justify the cost of a dedicated tester (e.g. 2 man startup)
  • You are in an organisation where you actively practice role combining, i.e. your UX or PM might act in the testing role.
  • You use Business Analysts to perform the testing

All very valid reasons not to have dedicated testers. Yes, dedicated testers are the preferred option, however that doesn't mean that they are always appropriate.

If you follow the mantra "Quality is everyone's responsibility", then you can actually get great results without dedicated testers under certain circumstances.

Dedicated Team

Personally I prefer NOT to have a dedicated team. I think that the feature team approach, where testers are one role embedded alongside developers is a much better way of doing things. A separate QA team can build an us vs them mentality, which is not healthy.

5
  • Re: Dedicated team. Isn't some of that adversarial approach necessary? While I, as a tester, want to stay on the good graces of the developers, at the same time there needs to be a separation of accountability. Testers need an advocate for them on a supervisor level that is not going to, by nature, side with developers as there are times when a tester will need someone with a tester mindset to argue their case for them towards development staff. May 20, 2011 at 14:50
  • 1
    @TristaanOgre Re: Dedicated team. The testers still have a Test Manager and are managed by him or her, however they work "at the coal face" alongside the developers towards a common goal. May 22, 2011 at 9:51
  • 2
    That much I agree with. Unfortunately, I have yet to experience that in practice. May 23, 2011 at 12:32
  • I've worked in teams where test and dev reported in to the same manager, and teams where we reported into different managers. In my experience, the greater the separation, the more politics there were, which made the testers' jobs so much harder. Given a choice, I'd always now choose to be embedded alongside devs.
    – testerab
    May 28, 2011 at 23:35
  • 1
    @testerab The manager is embedded into the team too, and a peer of the other manager. So there is no them and us, just different focuses. May 29, 2011 at 0:56
12

I always want an independent, dedicated, competent tester to test my code. However, I also always want a personal chef to cook for me. I usually can't afford that, either.

Most developers have not worked with a truly competent tester, and so they don't know what that is like. For me, the few times I've had that, it was great.

Having an independent-yet-incompetent tester test your code is pretty miserable. No thanks.

1
  • 2
    Ya know... for some reason, it seems rather odd to me that, at the time of this comment, seeing James Bach with only a rep of 91. May 23, 2011 at 13:24
5

Nikita,

Joel Spolsky, CEO of the team, sees a need for dedicated testers.

Joel has written eloquently about the need for testers (and what makes a good tester). See his blog post here.

In fact, Fog Creek appear to be trying to hire one or more testers to support StackExchange right now.

  • Can excellent software be made by small teams without dedicated testers? Yes.
  • Is it a good idea? Not necessarily, (particularly as the application grows more complex).
  • Does the Founder of StackExchange advocate building an application like StackExchange without one? No. See below:

enter image description here

5
  • 3
    Why is it not ok? I don't think that "because Joel Spolsky says so" and "ps they are hiring" really answers this question May 20, 2011 at 14:17
  • 1
    Bruce, I disagree. Here is why: If the question were "I wonder when does the absence of dedicated quality assurance people does not lead to decreased quality of delivered software?"... I would agree with your point (and could accept the validity of your down vote). That was not the entire question however. The question begins: "It just came into my mind that there are no dedicated QAs in stackexchange team. Since they are indeed making an awesome product,..." Hence the references are, IMHO, extremely valid.
    – Justin
    May 20, 2011 at 15:34
  • 2
    And Joel apparently doesn't believe that experience is important when hiring testers - "Specific experience in testing is [sic] no necessary." Also see: strazzere.blogspot.com/2010/04/… May 23, 2011 at 12:08
  • 1
    @Joe - it'd be interesting to know how the SE team does on the Alan test! sqa.stackexchange.com/questions/59/…
    – testerab
    May 23, 2011 at 14:18
  • @testerab That's a gem! I'd love to see it myself!
    – corsiKa
    May 27, 2011 at 19:37
5

Since they are indeed making an awesome product, I wonder when does the absence of dedicated quality assurance people does not lead to decreased quality of delivered software?

When you can make an awesome product without dedicated QA, then it's OK.

Some can. Many cannot.

3

I think it depends on the product first and team second (strictly in that order). If you have software developers willing to consider testing as an important part of their role and you have a good Unit/Integration test strategy and your users are willing to accept a slightly lower quality product then not having a dedicated test team is more than acceptable.

Remember stack-overflow is making an awesome product, but at the end of the day it a relatively simple (and certainly not mission critical) web application.

If on the other hand a medical or military project was to be released without a dedicated test team I would have serious concerns.

2

It's ok to not have dedicated testers if your quality is already good enough. Of course, that means you have to accept the risk that you will go through a period when your quality is not good enough before you decide you need to add dedicated tester.

There may be budgetary reasons for not having a dedicated tester. I work for a start-up that has three developers and one tester. We had the tester from the beginning, which had its advantages, but it meant paying their salary before there was any testing to do.

1

I agree with most of the answers here that anyone could, really, be a tester. However, there are some differences in mindset between testers and other software development roles. Not that a developer cannot share this mind set, but check out the question here

As for a dedicated team, while that may not be necessary, there needs to be some sort of separation between testers and developers simply for accountability, at least from a management/team lead role. Testers should be accountable separately from developers simply because, while we try not to "ha ha in your face" to developers, humans are humans and it is almost a conflict of interest if you need to consistently point out to your lead that their code sucks.

1

Someone mentions that a separate QA team can build an us vs them mentality, "which is not healthy". I'd beg to differ on that.

If you can afford a separate QA team then I'd suggest a bit of professional "them and us" is a good thing. Them and us doesn't have to be nasty or un-cooperative. Them and us can be very constructive. In much the same way that competition can be very productive and constructive.

If you've got professional testers in a dedicated team then you'll always have a bit of them and us. However, a good tester will always work constructively with his/her development counterpart. And that, more often than not, can mean a great working relationship. A great working relationship that helps everyone deliver good quality code.

1

There's a great GTAC 2011 talk on this very subject: http://www.youtube.com/watch?v=X1jWe5rOu3g

Summary: QA is dead. The new paradigm is developers doing more testing.

3
  • Great answers are usually more than a link. Could you summarize the talk?
    – Jay Bazuzi
    Jan 17, 2012 at 23:40
  • I don't think that's what he was saying. Instead, I think he said "In the context of lean web startups in land-grab mode, building software right is not as important as building the right software. You can only find out if you're building the right software if you release early and often, and don't delay to test. "
    – Jay Bazuzi
    Jan 31, 2012 at 2:45
  • Also "once you discover that you are building the right software, you need to improve quality, but you will continue to iterate quickly."
    – Jay Bazuzi
    Jan 31, 2012 at 2:48
1

Apart from unit testing (which is part of coding), I see two paramount reasons for having dedicated test team.
(I would even advocate for a dedicated test project alongside the dev project with separation of concerns and tesponsability.)

  1. I just don't believe in dev team so good that there is no need for independent testing. I take this kind of statement as a big red light.
  2. when pressure comes, having same people do both, -- and whatever the separation of roles -- will simply translate into: less testing, more coding ...which is a recipe for a catastrophe.

This being said, there may be exceptions for (small) things that a same person can design + code + use (= testing ), like a small website.

0

Always. The fact that a product is great, only suggests that with a dedicated test team the product would be even better.

0

IMHO hwhen the developers do both development and testing work, you do not need testing team. The advantage is developers design and code more for testability and supposedly for maintainability too. Of course, quality is then not viewed as "something extra" done "by the other people (testing team)".

8
  • There are two problems with that-the first is that most developers lack testing skills and know-how, the second is that real system tests usually requires infrastructure and someone working 100% to maintain it.
    – Rsf
    May 19, 2011 at 8:16
  • 1
    In a situation where a developer is testing their own code it can be tough because they know what they wrote & what it does. They are prejudiced to the expected behavior & may not think of things or make assumptions that someone removed from writing the code would pick up on.
    – CKlein
    May 19, 2011 at 12:33
  • Yes, developers will have to learn something new. I see it as more as positive thing than anything else. May 19, 2011 at 12:34
  • 1
    Yes, today most unit test creation is done by developers, but this is changing some because there is a shift from resources that are just QA only (with no programming background) to QA/Developers (Developers that choose to focus more on QA). These QA/Devs are still doing just QA, but they bring to the table the ability to read code and write not just unit tests along side the developers, but can create Integration tests that can form the basis of Automated Acceptance tests. This is one example benefit that a QA/Developer can help a project with. May 19, 2011 at 23:27
  • 1
    "IMHO hwhen the developers do both development and testing work, you do not need testing team. The advantage is developers design and code more for testability " Just because some developers do both dev and testing, that does not mean they design and code more for testability. May 23, 2011 at 13:07
0

When you have an application you need dedicated testers and also it depends on the complexity of the application. you can never tell we don't need testing any more.

0

In this case my guess is your product is used by such tech savy users that you get plenty of feedback when problems do pop up. And CBA said it isn't mission critical. As long as your developers continue to do a good job & you are willing to take feedback from users it seems to be a model that works for you so why tinker with a good thing?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.