Let’s take a look at a tester:
Jim is doing well in his current position, he is considered a good colleague (also by developers). No-one is saying Jim is lazy or incompetent. He browses a few blogs every so often and figures out how to slightly improve he performance at work. So why should he try new things?
I’ve found that in my work I deal with 2 types of situations:
a) Simple – something I can handle due to experience, skills, knowledge of the context, etc.
b) Complicated – something that I can’t handle easily. Due to new context or time/peer pressure or lack of skills, etc.
I’ve also found, that roughly 80% of situations are type A and 20% type B. As a generalization over longer period.
BUT, it takes 80% or my time (and effort) to handle the type B situations and only about 20% is spend on the rest, simple ones.
Thus, to improve my effectiveness I need to be better at solving difficult situations – being prepared for the unknown. That can’t be done through daily tasks as those are simple anyway.
Taking on something new, trying it in a safe environment, even if they don’t make sense in my current context – is what helps me to understand my limitations. Helps me to learn.
So, what about Jim?
Well, he is good tester in his current position. But he is not generally a good tester, being able to dive into any project that might come up suddenly. Or being able to explain to a new manager that Test Cases is not testing.