Keeping it clean, together

Imagine that on a highway, a car full of youngish looking people is going at a bit higher than the speed limit. That the group in the car seems to be enjoying the ride; they are singing songs and having fun. While they are eating some food, they are throwing the wrappers and left overs outside the car through the open windows. Now imagine that at a bit distance, a car is following it and is driven by another youngish looking person at a slower speed than the first car. That guy is cautious of the garbage being thrown from the car mentioned above and tries to stop every now and then to collect the garbage (a different type of garbage collection that what we usually study in memory management). Can that highway ever be clean?


(the original photo is here: )

Now imagine that during a software development cycle, a group of youngish looking programmers are producing code at a speed higher than your anticipation. That the group seems to be enjoying the work; they are singing songs and having fun writing code as if coding is poetry (see at the bottom of ‘Code is poetry’). While they are adding more features, they are leaving some bugs and unfinished work casually. Now imagine that an iteration later, a youngish looking tester is testing those features at a reasonable speed. The tester tries to find every bug left over by the programmers and works hard to fill in any gaps in the quality of previously developed features. Can that software ever be clean?

The only way that we can the highway clean and the software clean is to bring among the whole team a concept of collective ownership. Such that no one throws garbage out the car in hope that others would be cleaning it. And such that everyone takes the responsibility of producing quality software rather than counting on the testing team.

Not that I’m advocating to getting into Quality Assurance business as Micheal Bolton has very strong arguments against it. But that the ownership of Quality is shared amongst the team rather than just the testers and one the five ways that James Whittaker recently suggested to revolutionize testing.

One of the ways to get this is to have a Whole Team approach in which everyone writes and runs the tests. The business facing people can define test cases based upon the requirements they get from the clients. The technology facing programmers can write lots of unit tests and can even go for the TDD approach. The testers can ramp up their role of writing tests by having more collaboration with programmers and business people and define end-to-end tests. Not that having more tests will give you a bug free software but it will certainly have the impact on the quality.

Do you see in your teams the above collective ownership of quality? If not, do you think that you need it?


Tags: ,

11 responses to “Keeping it clean, together”

  1. srinivas kadiyala (S.K.C) says :

    Thanks for sharing…
    Yes, Its important to have a collaborative ownership to have their names on the product they are working for a quality.

    Srinivas Kadiyala,


  2. H Hamid says :

    This is an excellent post. Thanks for sharing.


  3. Ather Imran says :

    Totally in agreement. The thinking of “Testing as Gatekeepers” is not effective. Quality is everyone’s responsibility. It should be sort of a cultural thing!



    • majd says :

      Right Ather. May be I should one day write explicitly against the ‘Testing as gate keeping’ mentality. Thanks for yet another idea for a post 🙂


  4. thefosslover says :

    Well said Ather Imran, The process of Testing should not be treated as Gate Keepers. @Knowledge Tester, Great post.


  5. Sohail says :

    Relating social issues to software testing… consequently, suggesting a solution to resolve both is adorable…:)
    Yes, Everyone has to work like a “Beeba Bachha” in order to move the things on right course… whether it be society or a software..Nice articulation…:)


Trackbacks / Pingbacks

  1. But, that’s not my job | Knowledge Tester - July 23, 2014

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.