Sunday, January 26, 2014

“Bull Shit” – Great testers do exist and they are important to the rapid delivery of excellent software!

Title uses the shout out straight from the “Cotton-eyed Joe”.  I do live in Texas.  

I am going to explore a common thread found in these two articles discovered via Twitter.  The common thread is we must deliver software fast.

First I am going to offer an opinion on this article that Michael Bolton commented about on Twitter -

Second I am going to share a couple of opinions on leveraging Kanban effectively. In my opinion delivering software fast you do not necessarily impact creativity but you embrace creativity.  This interview was discovered in a tweet by Smartbear Software linking to this interview -

I must admit Mr. Stanton’s article got me riled.  First of all it seemed to imply that Google does not have testers, which is absolutely false.  In fact Google has some amazing testers.  If you get a chance to speak with Ankit Mehta at Google and you will learn that integrated testers help keep the quality high on the more critical Google applications.  You will also learn that it is the community of testers that shows the developers how to test and implement automation effectively.  In my opinion they are well trained ninjas.

James Whitaker one of the author’s of the book “How Google Tests Software” seems extremely developer centric in some of his writings and presentations.  I have to admit the book is still in my queue to read, but having listened to Mr. Whitaker speak I think he would admit there are some great testers around and that testing is critical.

I would agree with one aspect about Mr. Stanton’s post and that is many developers do not know how to test nor do they think they should test.  Great testers can be important educators for teams like this, if the team is willing to learn, listen and continuously collaborate.  It truly does require a culture shift that includes great testers in the paradigm.

I will try to summarize my rebuttal with some key bullet points:
  •       Whether Scrum or Kanban try to remove the QA handoff by involving a great tester all along the way.
  •       Great testers can critique design, offer strategic planning, conduct code reviews, extend unit tests, and even help write code, especially automation.
  • ·     Great testers can assemble the release and deploy the product.  Once deployed they know how to quickly sniff out risk and locate critical defects the team may have been missed. 

Embed a great tester and treat the tester as a first class citizen, then you will see some amazing results.

I do like this statement “Design a workflow that requires developers to wipe their own behinds, by writing automated tests for and testing their own code.”  A story should not be complete until a reasonable amount of test automation is in place.  When a critical defect is found by a customer, the developer should prepare to apply some Desitin cream to their behinds by increasing the test coverage and manually experiencing the final product for excellence.

Speaking of delivering excellence, I think that is what David Hussman is about.  David Hussman provided an excellent keynote at "Keep Austin Agile" conference in 2013. 

The interviewer in the link above implies that because we have a desire to deliver software fast that we skimp on creativity.  My opinion is if you skimp on creativity and innovation you may not be creating an excellent product.  Side bar – I do love Mr. Hussman’s use of music to describe building great software.

The interviewer also seems to imply that using Kanban there is no room for creativity.  Again I have to disagree.  Kanban is all about the flow of delivering value.  A story can sit on that board for a period of time as long as other value is being delivered or until the value of that story is truly recognized.  Teams today can easily deliver pieces of functionality in the “dark”, providing time for the team to be creative as they develop.  It is the sum of all the parts that creates excellent software.

Kent Beck predicted that delivering software would get faster in is keynote at the 2009 STP Conference.  Software is being delivered fast today, but delivering excellent software that delights customers is the key.  I think we must permit creativity.  In fact I have seen teams have daisy changed Kanban boards where the first board outlines the creative process of design and experimentation.  From my experience developers and testers are extremely creative and nimble in their creativity.  Perhaps we can call it "Rapid Creativity".

Kent Beck was right and so is Jeremy Stanton in that we must adapt and change the way we test software in today’s rapid paced world.

Building a team that can deliver great software fast is a great challenge.  Building a great process integrating testing through out is not easy.  But I think an important part of that team should be a great tester.  Great testers do exist!

No comments: