Tuesday, March 18, 2008

Perspective

Over the past few months I have been searching in myself about where I belong in software development. I felt as if I was in limbo about the work I was doing. I'm a developer who ended up doing a lot of test automation because I saw that we weren't doing that in many of our
projects. I excelled at it and then I had an great opportunity to go deeper into a testing role; in fact last year I had an amazing career year, but I still found I was searching for more. Recently, in a direction setting moment, I was able to get some clarity, direction and sense of purpose. Basically I realized that I have been making a career of being a tester but always from a developer perspective.

One of the things that set me on my direction was a presentation by Brett Pettichord on the "schools of testing". I found that I was clearly in the Agile school, with a bit of quality mixed in. The agile school was about making development complete, so I'd make sure that my unit tests were complete or the code coverage was hitting 90%+. The quality school was because I needed to get more processes in place to make life easier for me and the people around me. I was doing "agile" style development for years, but didn't know it.

From 20000 feet - quick reference on what "schools of testing" are:
  • Analytic School - sees testing as rigorous and technical with many proponents in academia

  • Standard School - sees testing as a way to measure progress with emphasis oncost and repeatable standards

  • Quality School - emphasizes process, policing developers and acting as the gatekeeper

  • Context-Driven School - emphasizes people, seeking bugs that stakeholders care about

  • Agile School - uses testing to prove that development is complete; emphasizes automated testing

A couple of years ago we had a leader that came in and showed us that waterfall model for software development was passe; it had its time and is now only good for support systems. Agile was the way we were moving forward. Without a lot of training, we were told to make it happen. Like I said, that I idea only solidified in me recently.

What does this all mean? I'm looking to widen my scope of what I know. I think there are lots of tools and techniques that can be applied to help give a sense of direction and purpose. I want to remain a good generalist and a critical thinker. So, I decided to start looking more into context-driven testing. I'm an agile tester and I make it a responsibility to mentor my peers. From my perspective, I'm trying my best to understand them, but I think I need to understand myself too.So, hopefully my followup posts will give you the context and perspective of where I'm coming from. Anyway, enough of the heavy stuff; on to more fun posts! :-)