We have seen projects run very well and succeed by any measure of succeed the team or the clients could choose to imagine. We have seen projects fail so dismally that no amount of spin or explanation or anything else will convince anyone that it was something other than a shambles. We have seen projects that fall somewhere in between.
Putting this another way, we have been active professionals in a variety of environments and have seen what happens when things go well or poorly.
What happens when projects are a series of failures? What happens when projects are more than failures and are disasters? What happens when our software projects become the lead story in local, or worse, national news coverage? What do we do?
As software testers, our task is to alert the project team to risks to the project and to the greater organization itself. We can not make the decision to implement or not implement the changes. We can not demand that something happen or not happen.
We can describe the likely outcomes. We can describe the areas of weakness and uncertainty within the application.
When people push “The Decision” on to the Software Testing group or QA, they are abdicating their responsibility to the project stakeholders and the customers of the effort.
Most of the time when I have seen this happen, or when I have been the one in the project room when the “leadership” looks at me and asks “Do we go?” they, the “leaders” have been abdicating their responsibility. They are symbolically washing their hands of the matter and pass it to someone else so what ever happens with the decision, the person “who made the decision” will be blamed and not them.
The technical term for this type of behavior is “cowardly.”
The challenge for testers, QA folks, whatever you are called in whatever organization you are in, is to not give up. James Bach wrote a fantastic piece on Finding Your Own Integrity (parts 1 and 2). For me, integrity includes standing my ground and speaking truth no matter the cost.
We can do that diplomatically and be fairly nuanced, or we can call rubbish rubbish. The context, the individual situation should help you make that determination.
So, when people are trying to pass decisions that should be theirs to make, know why they are doing it. Then act with integrity. Resist. In the face of disaster, resist.
I can hear the protests now… “But I have a wife and kids to provide for and a house and car note to pay and shoes and groceries and…”
Let me ask this: If people are setting you up to take the fall, and you let them, without resisting, without taking reasonable steps in response, what is the logical outcome? How many times will you be humiliated publicly, professionally, in front of your colleagues, before you stand up?
When you do stand up, after some number of cycles of you and your fellow testers taking the blame for absolute failure or projects being delayed (another form of failure in the eyes of people who worry about such things) or any other form of “Testing did it wrong,” how much support will you have from others?
The more a simple lie is repeated, the more it is accepted by the unthinking and uncritical observers and people hearing it. You must respond with simple truth. Not excuses – but fact. Demonstrable, documented, proven fact.
Do not take failure of the entire project on yourself. When a project fails, it is rarely the fault of one person. Mistakes can be made. Recover and move on.
If you act with openly with integrity, you may find yourself with more allies and a greater support network than you realized you had. Even if that is not the case, you have met those who make a career out of blaming others, particularly for their own failures, with honor.
It may end your job. True.
Not responding honorably will drain your soul, your spirit and you are likely to lose your job soon anyway.
Go forward and meet them.
|Le Réveil – The Awakening
Auguste Marie Raffet
A solitary drummer beats the Call to Arms and the Advance summoning
fallen soldiers to form ranks and once more defend France.