Friday, June 1, 2007

Well if anything goes wrong it must our fault

If you are in to dumb movies like I am you have certainly watch the South Park movie. In this movie part of the plot is setup by parents getting up set at Canadian actors for using fowl language. This quickly digresses into a song and dance routine where Canada is blamed for all of America’s woes - at least in South Park. Later in the film this becomes justification for going to war with Canada. In the last few months I have gained new appreciation for this comedy. Because I have now routinely become the victim of scapegoating (yes I know it’s not a word, but it should be). I was brought on to my current role –performance testing- because on a previous project I had gained some knowledge of a toolset being used. This caused me to get dragged into a project that really has nothing to do what my line of work is. Inevitably I was drawn into integration testing because the projects timeline was lengthen and I could not do any more work on my role for a month. This is when the fun began.

Typically integration testing is done to verify that an entire system works and you can complete the business functions it was designed to do. Most developers only test there particular part of the system and when all the pieces are put together it must be tested as a whole. Unlike the testing developers do this is just functional testing or business process testing. Can I take and order, ship it, bill it, and handle returns for instance. Can I close the books at the end of the month. It is always painful and there is never enough time put into it. The problem on this project for this client is the fact that they did not have the correct people testing it. Instead of having the people that designed the system create the testing scenarios/scripts and then have the business test the system, as would be the normal procedure, they created a testing team to do this. So now there is a team that must verify that everything works that has not power to make changes and doesn’t have the knowledge of how everything is supposed to behave in the first place.

Well we went ahead and designed the scripts, created data, and organized all of the testing. I thought we did a good job for the limited resources we had. However no matter what happen, no matter how well things went (and they actually went very well) our team lead kept saying how bad of a job we did and how everything was our fault. The functional changed something and didn’t tell us – Our fault. The developers screwed something up – Our Fault. The testers had questions – well the script was bad and it was – Our Fault. The data was processed in the right order because and outside vendor was incompetent – Our Fault. In fact our lead took all the bad things on the project and assumed they were are fault. And told us as much. Compared to a decent leader that would have pushed back and said, well our outside vender is incompetent, we have to assume a learning curve, and we need more integration with the functional team she would say AHHHH WE SCREWED UP.

The funnies thing about this is that we actually got through this with fewer problems than most projects. The number of issues was actually quite small, the defects were turned around quickly, and we finished not on time but ahead of schedule. Yet we screwed everything up! By the end we had actually downloaded the song from South Park and dubbed in “Testing Team” everywhere the said Blame “Canada”. It became our theme song because even though we honestly saved the project nobody cared; they just kept point fingers at us in case it failed so if it did they could say it wasn’t there fault. I just wish we had stronger management with the backbone to say “it’s not their fault get your own $h!t together! I can’t wait to get off this project and work for a decent manager again. I didn’t realize HOW big of a difference it is.

No comments: