BTL_ThoughtWorks

Blog

Jun 17

Written by: Lisa Crispin
Wednesday, June 17, 2009 6:41 AM 

Some leaders in the testing industry continue to maintain that test teams are “gatekeepers”, the watchguards for quality. This makes me sad. I’ve spent many years now in development organizations where everyone—programmers, architects, DBAs, system administrators, analysts, customers as well as testers—takes responsibility for quality. These teams have delivered software whose quality is many levels of magnitude beyond teams where the testers were the quality gatekeepers.

One argument I hear from people who advocate separate, “independent” test teams is that testers who work together with developers (especially those who report to the same manager as the programmers) are vulnerable to a programmer suggesting that their “minor” change (“It was just one line of code”) doesn’t warrant any testing. This implies that the programmers don’t care if they introduce defects into the software.

Crummy programmers influencing gullible testers isn’t an issue to be solved by separating them into different, siloed teams. What we need to do is: 1) hire people who care about doing a good job, and 2) give them the time and training they need to do a good job.  It’s not an organizational issue, it’s a management issue.

All the good testers I know are independent thinkers. If a programmer tells them, “I only changed one line of code, you don’t need to test anything,” they’ll analyze the situation and decide for themselves what testing is warranted. If there’s a time crunch, they’ll provide the customer with information about the risk of not doing all the testing they think is needed, and let the customer make the decision.

My independent streak doesn’t change when I report to the development manager instead of to the QA manager. There was a time when I was proud to be the “Quality Boss” and hold the keys to production. Back when I did that, the quality of the software we released was average at best, and our product wasn’t competitive. Seeing the results of the “whole team” approach to quality has convinced me that more collaboration and communication, not less, is the way to go.

Don’t worry about whether your test team is separate or not. If you’re a tester, get up now and go start talking to the programmers. See how you can help them. See how they can help you. If you’re a manager, start hiring the best people you possibly can, and start training the people you have to care about quality and learn how to deliver high-quality software.
 

Tags:

19 comment(s) so far...

Well said!

Making it somebody else's problem doesn't solve it. Kinda wish I could forward this to every company where I've worked previously.

By Jeremy Nicoll on   Tuesday, June 23, 2009 8:11 AM

Re: Independent Testers? Or Independent Thinkers?

My boss told me I had been appointed the 'gatekeeper of quality' in my last job. Developers hated dealing with me, I hated reviewing their code. Good post. We need more thinking like this in the industry.

By Julian Simpson on   Tuesday, June 23, 2009 8:27 AM

Re: Independent Testers? Or Independent Thinkers?

Hi Lisa,

I love your writings about QA, any more blogs? I will definitely re-post this!

By Rabby on   Tuesday, June 23, 2009 3:40 PM

Re: Independent Testers? Or Independent Thinkers?

Rabby, I have a blog on my website, lisacrispin.com, also some articles posted there, hope you find them helpful.

By Lisa Crispin on   Tuesday, June 23, 2009 4:07 PM

Re: Independent Testers? Or Independent Thinkers?

Hi Lisa,

Really great article. This is why I thoroughly enjoyed the move from traditional methodologies to agile because agile placed the emphasis on quality on the whole team and not just the tester. This isn't to say team quality is not suitable for traditional, because it is, but the long dev cycle and then drop to test at the end doesn't encourage team quality at its core.

It works so much better when the whole team have quality buy in. It also frees up the tester somewhat to perform more testing rather than firefighting niggly 'shouldn't be present' defects.

Like you say, a good software tester is capable of making their own mind up and still offering the same critical thinking no matter who they report to.

I'm actually a huge advocate of collaboration and communication being the most successful factors for delivering great products. Get the right team, with the right team motivation and quality goal with willingness and ability to communicate and it doesn't matter what methodology they work in - they will succeed.

Rob..

By Rob Lambert on   Wednesday, June 24, 2009 1:29 AM

Re: Independent Testers? Or Independent Thinkers?

Hi All,
Nice writing,i.ve also faced that developer always think wrong about testers.
byeee

By devang on   Wednesday, July 08, 2009 9:36 PM

Re: Independent Testers? Or Independent Thinkers?

I vote for independent thinkers :)

I think the problem is that even if people move to a more agile process, they continue to make decisions based on waterfall premises that simply no longer hold true. The only person who's "independent" validation really matters is the customer's... and even then, the more closely we can work with the customer the better we'll be able to understand what they need.

So how does it make any sense that developers and testers will do better if they're working AGAINST one another then they'd do if they were able to collaborate, pool their skills & strengths, and work TOGETHER towards the same goal of building a quality product?

By abby, the hacker chick blog on   Friday, July 10, 2009 9:16 PM

Re: Independent Testers? Or Independent Thinkers?

I'm encouraged to see that there are a lot of you out there who think along the same lines. We can transform software testing, and get better software products out there!

By Lisa Crispinq on   Saturday, July 11, 2009 8:43 AM

isolative independency impacts cross-training and coaching

Thanks for the article Lisa!

My comment is a question to you.

Looking back to my experience in IT career path I can see somewhat more beneficial having solid QA department rather than testers spread around development teams, especially in a big company. Even a _ mature _ QA professional who is feeling comfortable working independently would benefit from working in collaboration with other testers on a big product, for example, sharing business-specific knowledge, configuration tricks, and fresh workarounds. As for a junior person, the supportive influence of senior testers could be crucial! And it's not only technical or methodology coaching but more motivation and communication methodology.

So don't you think that spreading testers around development teams and making them reporting to different managers isolates them with the all consequent impacts, like cross-training, coaching and knowledge transfer problems, and lack of standards in test documentation?

Thanks.

By Albert Gareev on   Monday, July 13, 2009 8:20 AM

Re: Independent Testers? Or Independent Thinkers?

Albert, you make an excellent point. I've talked to a lot of people who work on large organizations that transitioned to agile and have testers integrated into the dev teams. What seems to work best is to have a QA/Test "Practice Manager" who provides leadership and support to the testing community, gets them the training they need, gets them together to share ideas and practices. That way you get the benefits of testers and developers (and other dev team members) collaborating, as well as testers expanding their professional skills by working with other testers - skills they can pass along to their developer teams.

We don't have this at my company, so I have started an informal testing community. Different people volunteer to do testing-oriented presentations once or twice a month, and we have a testing wiki space where people can ask questions and share experiences. We'll see how well this works!

Also, due to the size of our products and the fact that there is still a lot of legacy code, we do have a team of testers dedicated to system testing, and we still have a "regression" sprint before each quarterly release. That's not ideal, but you have to do the accommodations that work, while continually looking for ways to improve upon them.

By Lisa Crispin on   Monday, July 13, 2009 9:39 AM

Re: Independent Testers? Or Independent Thinkers?

Lisa,
as a test manager for a large government project, that is as far from Agile as one could find, I can assure you that the concepts still apply. Part of the standard training provided to our team was how to think about software, and not just how to test. Being part of and talking to development teams (and requirements, design, documentation, CM) allows the test team to speak the same language and learn many details they would never learn by being remote.
It is quite common for some to make quality a test issue. Quality is project issue, and only through a project solution can it be delivered. And as you correctly state, hiring quality staff is the first step on that path.

By Chris Church on   Thursday, July 16, 2009 5:11 AM

Re: Independent Testers? Or Independent Thinkers?

Chris, it's great to hear a success story like that, I hope it will inspire some readers to try the same!
-- Lisa

By Lisa Crispin on   Thursday, July 16, 2009 7:41 AM

Re: Independent Testers? Or Independent Thinkers?

Excellent point, Lisa, and very well said! I work in a large medical device company that is governed by regulatory agencies such as the FDA, a world that puts a lot of (over)emphasis on the "independence" question. In fact, FDA guidance documents (which are interpretations of law, not actual law) discuss this very point, and this rather conservative industry seems to often take the guidance to the bad extremes that it seems you have seen. My organization, and I suspect others in my interest, have long thought that SW designers must be independent of or "separate" from SW testers - separate in thought, seperate in org-structure, separate in objectives, and sometimes even separate in schedule and location. In our 7-year-and-counting journey with Agile, we are breaking down these old beliefs, and in some parts of my organization we now speak of "Aligned Teams" that no longer talk of one another as being designer or tester, but as being team members with varying levels of expertise on various topics. While the "independence" question still causes heartburn for those who aren't part of this transition, for those who are, the independence question has become a non-issue. It is clearly a good thing to align designers and testers together, aligning on common goals and common schedules. A colleague summarized it as, "We are no less independent, what we are is less isolated". ,The vast majority of those who have done this in my world would not want to go back to the old ways of isolated indepedence. And if those of us in the cautious, safety-critical, regulated world can do it, anybody can do it.

By Kelly Weyrauch on   Thursday, July 16, 2009 1:57 PM

Re: Independent Testers? Or Independent Thinkers?

Kelly, your teams have accomplished a wonderful transition! I love the term "aligned", and I love that "we are less isolated" quote. Truly inspiring especially in your industry! Thank you for posting this!

By Lisa Crispin on   Thursday, July 16, 2009 2:25 PM

Re: Independent Testers? Or Independent Thinkers?

Thanks for that comment, Kelly. I'm going to reference that as I spread a similar message in my organization.

By Alex Kell on   Thursday, July 16, 2009 4:08 PM

Re: Independent Testers? Or Independent Thinkers?

I was taken on by my present employer about 18 months ago as a tester. My previous background was a a VB developer and the only reference I had to scrum was on a ruby field. I learned during the interview that the company praticed 'Scrum'! So between interviews 1 & 2 I researched 'Scrum' and I liked what I found and though yes I could work with this. In practice it took me about 3 months to get my head around this new way of working. I am on a team of six, 5 programmers, 1 tester and we are all independent thinkers, but who work as a team. The penny dropped for me one day when I realised that we are a team and when a developer or the developers on my team have a problem it is also my problem. But how do I help when my techincal expertise is so sorely lacking behind my fellow team members. An example of how I can help is that I will go over to the struggling developer and ask him to explain the problem to me. He has maybe sat with the other developers and gone through the code line by line but still it is not resolved, but when they talk me through the problem because I am not as techincally adapt as they are, they tend to explain the problem at a higher level or I will ask questions at the higher level and in my experience this has lead them to see the problem in a new light, that in turn leads to new avenue's being explored and eventual solving of the problem. I am currently reading your book which lead me to this site.

By Dave Richards on   Saturday, August 15, 2009 2:18 PM

Re: Independent Testers? Or Independent Thinkers?

Great post!! If we all think like this we can definitely change software testing. You're right about getting the best people to do the job. There are testers that don't like what they do and therefore end-up doing a crappy job.

By Mirkeya Capellan on   Tuesday, November 10, 2009 7:14 AM

Re: Independent Testers? Or Independent Thinkers?

Fantastic post! On the dev side of the world, I also encourage developers to involve the testers early in the project, even if it is one line of code to be changed. The mindset that a one line code change implies less testing is simply naive and shows we are thinking very narrowly of the impacts of the change. Getting the full team together to simply have a conversation about it goes a long way.

By Jenna Pederson on   Friday, January 22, 2010 8:23 PM

Re: Independent Testers? Or Independent Thinkers?

I would vote for "Independent thinkers". Way back when I entered the IT industry things looked to be exactly the same as we are proposing today. So are we going "back to the basics"?The idea of "independent testers" probably works well in a big organisation who claim to provide a common platform, a career path and knowledge on testing tools etc .. But what I have observed is that under the concept of "Independent testers" the organizations end up doing plain pure resourcing. Out of the resources which they provide some happen to be "Independent thinkers" ( you got to be lucky to have them in your project ). What I would encourage is that irrespective to whether you report to a development manager or the test manager, irrespective of whether you are independent testing team or work alongside with developers - letz not forget something very core to testing - "A analytical mindset, critical approach and a common goal...."

By Palak Kedia on   Sunday, February 21, 2010 11:58 PM

Your name:
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Add Comment   Cancel