As close as three or four years ago, if anybody told me that their development team were able to deliver quality working software with zero bugs, I would have laughed hysterically and called him/her a liar. Well, one of the things I most enjoy in life besides testing, beer and food is being completely and utterly wrong. Why? Because in the magic moment we realise we are wrong about something, in that exact moment, we are growing and an improved version of ourselves is born.
It has been a long road since I believed in traditional independent test being absolutely necessary and fundamental to the correct delivery of value to our customers. On this road I learned to embrace the Agile manifesto, appreciated the simplicity of SCRUM, the subtle but great power of self organised teams, the beauty of Test Driven Development and in particular Acceptance Test Driven Development. On this same road I realised how much more fulfilling and fun it is to prevent an issue from happening rather than detecting it, how beneficial it is to discuss requirements in a team and derive tests from discussions rather then do it from documents in isolation and find at test execution time that what you understood of the requirements is completely different from what the developers designed and in turn at UAT finding out that the customer actually meant something else. On this same road I discovered that developers are lovely people that, like anybody else, prefer to be helped rather than being criticized and can be extremely resourceful when making their application testable if they really understand how much time they save by getting fast feedback from automated tests. On this road, I saw how great it is to have regular demos where the customers are happy and tell you that you are doing a great job, rather than producing endless reports on progress with percentages pulled out of thin air and being questioned why you are at 46% rather than 52% as per project plan. I learned that the quality owned by the team means that everybody is going to dig in when necessary and I don’t have to work crazy hours. More than everything on this road I learned that, we as Testers working with Developers Business Analysts and Product Owners, can have a lot of fun .
Well all the above is good but, how about the product?
After six 2 weeks sprints our beloved web application went into independent testing and UAT and we received the findings last Monday.
Does the application do what the Customer wants? YES, 100%
Did they find important bugs? NO (ZERO sev1 and sev2)
So, to recap: I had more fun, I didn’t work impossible hours, I didn’t have to be frustrated with developers rejecting bugs, I didn’t have to produce meaningless reports on status and progress, I gained a lot of new technical skills by pairing with developers and the result was much better than I had ever experienced before.
I really look forward to the next time I am wrong!