Tuesday, 3 September 2013

Bugs, Features, Egos

As a Test Analyst there have been a couple of times I have raised a defect against a story and been met with a surprising mix of hurt and resentment from the developer. On the outside it looks like a defect that the developer stuffed up, closer up it looks like something the developer missed in the specification, up very close it's something which was either too difficult or big to finish off within the allotted time.

This only occurred to me today, years after these events, as I sat pondering features for a game I'm making. The list goes like this:
"Make the existing UI menus look acceptable" feature.
"Make the enemy sprite not forget what he's doing randomly" feature.
"Make the zoom work smoothly" feature.
Once this list was complete I immediately fell from my Dev hat into my QA hat and realised something, that these are in fact three major defects. Gosh. I had not viewed these in this way before, things which I had missed because I was blinded by the goal. I suddenly felt a pang of shame and sadness - a bizarre response given I'm home alone with no one to judge me. But still, my pride was hurt and my job changed from creating exciting new features to fixing stuff I'd neglected to do properly earlier.

Until now I'd insist that these are words 'bug' vs 'feature' have no relevance. I mean really, we don't care do we? They only count as metrics and measures which we present to management bodies to show progress, but it really should have no influence on ego. Bollocks! If I feel shame alone at my bugs then I have a new found appreciation for preserving the public facing ego of the project devs by using the right words and the right approach to tweaking their delightful undocumented features.

My view as at today:
Bug reports are records of investigation and associated decisions - but not tasks for devs.
Features is the full list of things the application needs and gets prioritised as musts and shoulds.

Robot Framework, Basic Setup

Plug: Robot Framework is quick to setup, easy to write tests for, and super fast to triage failures in. The last point really sets it apart...