Friday, May 8, 2009

Role of a tester in scrum environment

I just read an email sent on the scrumdevelopment yahoogroups list. The email mentioned a small company having given a notice of redundancy for - apparently all of - their testers. The developers had been told to do the testing, and the testers have some days to justify why they should be kept. Interesting dilemma.

Some weeks back, there was a session to learn about agile testing with James Lyndsay with the Finnish Association of Software Testing. There were some 15 people there, and at the end of the paper plane building -session, we identified key learning points. What stroke me specifically is a learning point that got the lowest number of scores - we agreed on it least based on the voting: "You don't need testers, you just need testing". Sounds a bell with the idea of notice of redundancy. Yet people around - testers specifically - did not agree with that.

I too am a tester, and I was the one writing that particular learning point to go around, since I felt that was one of really key things I had learned. Yet as a tester that works in a scrum environment - at least used to - I quite strongly feel testers are useful.

I believe this is related to a theme I just blogged about in Finnish. There's huge differences between experienced testers. There's people who have 5 years of experience and people who have 5 times a year of experience. Those testers who actively learn while testing and about testing, tend to be way beyond in useful experience over those who have learned their testing by following test scripts that they may have created themselves and checklists that keep them in discipline since they can't find motivation to be disciplined just from the importance of results they could be providing. An experienced tester that is an experienced machine part can be replaced with automation or someone who could do the work for cheaper. This could be the developers - just to save the cost of teaching the same things to yet another person who would not provide value for the invested time - or someone from lower cost countries.

I believe that you don't need testers in scrum environment but you need testing. It is not straighforward that the team is able to include the testing as it should be included if there is no specialist in the topic. Then again, having someone called a tester, or even having someone who has been a tester comparing expected to the seen, does not mean that person could actually help include the right kind of understanding in the team.

In some cases removing testers makes things better for the team in my experience. It helps the other team members take responsibility over quality, it makes the team start automation they've too long postponed, it makes them stop building fences over their own component and work together with other developers. While it may make them seemingly slow at first, they may recover fast and become better.

In other cases removing testers makes things bad - when the team left to do the work is not willing nor capable to do the testing. Things get declared done too soon and problems going further in the chain may increase.

I find that the potential value of testers in scrum comes from the testers' potential of thinking and acting like a tester - providing information that was not yet known, on time, in a way that saves time overall.

Being called a tester does not make one a useful tester.

5 comments:

  1. It could also be said that you don't need surgeons-- only surgery.

    The problem with that, a long time ago, is that surgeons were poorly trained. Most people died after surgery.

    Bad testing probably won't kill you. But the problem with not having people called testers is that tends to go along with people who don't study testing. Ever.

    Among people who are called testers, only a few of them study. That's true. But I bet where you will see self-development in testing is almost exclusively among people who proudly identify with this critical skill-set.

    ReplyDelete
  2. Just linked this article on my facebook account. it’s a very interesting article for all.


    Scrum Problems

    ReplyDelete
  3. I was going to comment and say that if you look at it that way, you don't need developers either, you just need development.

    But then James' comment is much better.

    Of course being called a tester doesn't automatically make you useful. But then getting rid of all your testers and having your developers to their work doesn't make you a smart CEO either.

    ReplyDelete
  4. Oh my, what a lousy blogger I am since I did not even realize I had comments I could comments on...

    I agree with James point on needing skills, but in some of the small company projects, I've had pleasure of meeting people who mainly identify as developers but have tuned their testing skills quite nicely - and continue to do so. These people practice automation, but also extensive exploratory testing and tend to read up on both areas of expertise.

    I would argue, as many times before, that necomers can't focus on all of the separate skills areas development simultaneously. Thus when there's newcomers, some need to be "testers" and some "developers".

    The title does not speak of the skills. And the skills need to be there.

    ReplyDelete
  5. On Ru's comment: I would argue that it is somewhat obvious that code does not create itself, whereas the tester role is still under dispute. Thus you can play with word and note that you don't need developers but development, and it would be true if all people in team would identify as non-developers and still do the development part.

    What I still try to point out is that testing might happen without testers and testing might not happen even with testers present. Perhaps we should relabel all developers and testers to apples and oranges, but with scrum I still prefer team members with development or test emphasis.

    ReplyDelete