Monday, March 5, 2012

The test team is dispensable

I have been following a couple of discussions on LinkedIn where the consensus is that the test team is dispensable because it is a department that does not produce revenue yet incurs a lot of overhead.

Well I disagree with that. Not only is testing a necessity, it is also the only form of risk management available to stake holders that actually places the product in (as much as possible) the same environment the end user of the product under test would. Furthermore testing subjects the product under test to conditions a regular user would while utilizing it [product] under a wide range of scenarios. These scenarios can vary depending on the testing method employed.

Below is my top [in no particular order] 10 list why we test:
1. Risk assessment / management / mitigation
[ the rest are related to number 1 above in some way ]
2. Assess the end result against what we envisioned the end product to be
3. Verify implemented product features against feature requirements
4. Verify product integrated with the system in which it will run in production / customer
5. Verify the intended behavior of the product when known error conditions occur
6. Assess how the product performs under stress (at both ends of the scale)
7. Verify the intended behavior of the product when catastrophic / unknown error conditions occur
8. Provide feedback to development team during design, development and sit
9. Verify product features against user requirements
10.  Identify deviations

 How can anyone argue that the above list is not needed by any organization that has external customers yet alone an actual product that is sold? Yes, you may be able to get away without testing if all of your customers are internal; for example the IT department in a company with 100 employees.

It think that the majority of the folks whom opined in the LinkedIn discussions mentioned are confusing "testing" with "test team".  Or perhaps using the terms interchangeably. See in my opinion a test team can be dispensable but not testing. Just like accountants are dispensable but not keeping track of the company finances. Just like marketing product managers are dispensable as long as the product is marketed. Just like salesmen are dispensable as long as product gets sold.

My point is that some people try to create a chaos in the testing world by creating these false alarms about the testing team somehow needing some justification for its existence. The fact is that _ALL_ departments need justification for their existence and no one is immune from the all mighty axe when push comes to shove. This "justify your existence" notion is a fallacy that if you acknowledge it means you already failed. There are way more constructive ways for an organization to manage their employees performance in regards to helping the revenue stream than to ask individuals to justify themselves. I'll list some below.

How to avoid the "justify yourself" fallacy:
1. Set employee goals
2. Measure employee goals
3. Report / give feedback to employee regarding goals
4. Reward goals met (not necessarily with money)
5. Warn employee when goals are not met (consequences should be clear)
6. Retain only employees that meet goals (this consequence must be stated)
8. Hire only employees that will meet your goals (screening / interviewing process)

If you still feel, after reading all this, that testing teams need to justify themselves then you are a proud new member of the "Justify Yourself Fallacy Club".


No comments:

Post a Comment

Creative Commons License
VGP-Miami Web and Mobile Automation Blog by Alfred Vega is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.