Software Development: Tunnel Vision Thinking
In scrum, two weekly sprints, in my experience and observations, there are moments of tunnel vision thinking. This is where our minds get trapped. You start to think about a problem in a particular way and you’re not able to think about it from a different angle. We may miss the seemingly obvious things when we look back at it. What causes this might be stress, tiredness or feeling emotional. As we’re in an era of fast paced delivery these days, stress and tiredness might not be uncommon.
So, what sorts of things can we do to help ourselves?
1.Recognise tunnel vision thinking as a problem.
First thing we need to do is recognise that tunnel vision thinking is a real problem. It happens. We’re human. I can give an example where I was working on a UI refresh project. We were going through rounds and rounds of changes. At one point, cross site scripting went out of my mind. Much later on in the project, we found a lot of the pages had this problem. So we had to backtrack and sort it all out before we pushed into production. Looking back it seems quite an obvious one to test, however, at the time my mind missed it.
2. Get a peer review / second opinion
When I’ve found myself stuck on a problem. I find someone that’s outside of the bubble of the problem. Someone who isn’t close to it and can give me an outside opinion. So for example if I’m in one team and working on a test plan for a new feature, I would ask a test engineer outside of my team to come and review it as well. I’ve always found this to be helpful. They inject new ideas and bring in a new perspective.
3. Write test plans
You need something to jolt you out of tunnel vision and to see the big picture. Software development is really hard! There are many factors to think about, for example, all the quality attributes you need to think about, such as security, performance, usability, supportability etc. I find test plans help me think of the bigger picture.
4. Remember the context for building the product
Sometimes we can get so entrenched in things that we completely forget the users we are building for. We are building products for people and we need to make sure they are the center of our thoughts. Use these four questions to help you. Write them out on your test strategy or plan.
- Why are we building this product?
- What problem does it solve?
- Who are we building it for?
- How will they use this?
5. Consider a mood journal
At the beginning of every day I have started to mark my mood out of 5. So 1 out of 5 if I’m in a bad mood or 5/5 in the best mood ever. I have found this useful to check in with myself. If I’m having a rough day, then it’s likely I’ll need more support from others to help with problem solving. If it’s the best day on the scale, then I find I’m able to think better, brainstorm more options in my head.
Have you ever experienced tunnel vision thinking? Have you got any tips or tricks to help?