*Obviously there are measures of bad, I’m reasonably open-minded to things which are mostly bad but give you some overall gains. But there are also things which are just bad, bad, where the perceived gains are actually just an illusion hiding the reality of your actions.
Over time everything evolves. Project’s evolve as new people join and as new information becomes available. Testing evolves as we learn to think and reflect on past projects. What was considered good testing ten years ago is probably not considered good testing today. There are processes and ideas that I look back on and wonder not only how I could have ever considered it to have been a good thing but to actually wonder how on earth it even worked. In my defense I should say that at the time, on that particular project, it did work.
Sometimes you’re working with something that was always known to be a bit of a compromise. We can’t be perfect all of time, for most of us we can’t be perfect for any of the time. All of this leads to the inevitable situation where you’ll be following a process, or carrying out a task and you’ll know that this is actually a bad thing* to be doing.
For example I know that test plans take far too much time to produce and maintain. I know that they can actually limit your thinking and cause you to miss bugs. However I currently work in an environment where sometimes I need people who aren’t testers to carry out some checking. I have to accept that they are only comfortable doing this if they have something to follow. Since I believe our process is effective, and I know our process depends on people besides myself (the only tester) testing, I’m reasonably OK with the need to support test planning to some degree. Obviously I can work on different approaches to this test planning but right now I’m OK to write test plans if they get me to a better place in the short-term, by improving things for the end-user.
Estimating is another common area of contention. We all know that it is impossible to estimate accurately. The anchoring effect will make sure that any number at all could be the resulting estimate. Yet, despite this, there are many people estimating work on a regular basis.
An individual taking a stand is unlikely to have any impact on a project. If you suddenly decide to stop providing estimates, then I doubt everyone else on the project will sigh with relief and drop the whole charade. It’s far more likely that you’ll be excluded from a meeting which could contain genuinely useful conversations. You’ll probably also end up being assigned estimates for your work, and then somehow expected to meet them.
So what do you do? Is it enough to go through the motions in an I KNOW THIS IS BAD kind of way similar to the way you know the late night kebab is bad but you do it anyway?Do you adopt stealth tactics and slowly try to raise a rebellion? Depending on the activity and project this might be successful. Unfortunately there will usually be at least one supporter for every activity, no matter how antiquated it has become. Maybe you’ll be satisfied that you at least had a go at making a change even if it wasn’t successful. This approach seems to be particularly common if the person supporting the bad thing is your manager.
Stealth tactics can be effective for making the small early steps. They can be used gather some evidence to support your case, or for identifying who will be open to change and who will resist. Unfortunately at some point you will have to come out into the open and launch a full-scale mission to rid your project of the bad practice. Keith Klain has given some great presentations about how to go about this. The biggest takeaway is probably that you need a lot of energy and perseverance to succeed.
So what do you do? Are you a ‘accept it as it comes’, ‘stealth changer’ or a ‘full-scale mission’ kind of person?