Being responsible for testing, and everything else in-between!
It is no longer news that testing is a vital part of building quality into software products. Thus, organisations often employ software testers or quality specialists to help with their testing needs.
However, in the age of Agile software development, testers are often required, or expected (as part of a multi-disciplinary team) to do more than testing (for better or worse). If you have ever been in a position where you feel like you spend the most of your time doing everything else but that which you were employed to do, then I am sure you can resonate.
The challenge:
In my experience, the best testers I have met, are those who truly enjoy the craft of exploring and experimenting with software products, to gather information about the product, which helps inform them of the products limitations or quality status. These type of testers tend to find some sort of “flow state” when they embark on a “testing” mission.
However, nowadays, some of these testers often find themselves in positions where they spend more time navigating and dealing with various team or organisational processes, than they spend doing the job they were employed to do in the first place. Similarly, there seem to be a constant push for testers to develop in areas that may be of less interest to them. For example, learning the latest test automation tool or testing framework that may or may not be relevant to their current context.
For some people, this is seen as a positive to the testing profession. But for others, it may be a source of stress, and discontent. Leading some to ask themselves questions such as, “what am I doing here?”, “what is really my role is this team?”, “How do I contribute to the quality of a product, when I hardly get the time to actively work on it?”. Some may even ponder, “What the future hold for them in the field when they can’t focus on doing that which they most enjoy doing?”, and “How will they progress in their career if they are to resist the push to develop, in areas they are less interested in?”
You may be asking yourself such questions right now, or may have asked in the past. However, as professionals, and if you are ambitious, then your expected response to this challenge is to step up and adapt to the demands of your role. Better still, you are expected to at least realize and accept that these are the expected demands of a high pace, ever changing work environment, often motivated by the drive for agility in the software development arena.
Unfortunately, these conditions create several challenges for different people, even though not so many are able to articulate, or talk about them at work. However, any discussion with testers within a safe space will often reveal the challenges they face daily at work. For example:
- Discontentment with the expected and actual nature of work.
- Challenges dealing with team and organizational processes.
- Cognitive load.
- Confusion in career development path.
- Context switching and multi-tasking.
- Burnout from heavy workload.
- Loss of joy in the work they do etc.
This is not an exhaustive list. A lot more can be added, and depending on the person, or work context, people can face one or more of these challenges at the same time. The point is, these things exist and have, to a large extent, become part of the expectation of current day software development work life. Where, it continuously seem to look as though
“You have to run as fast as you can, just to stay where you are” – as the Red Queen told Alice in Wonderland.
The problem is: as the Olympic races, marathons, and other speed related sports have historically shown:
While all humans are born equal, not all humans can race on equal speed.
Which beg the question, if you are not born to race as fast as you can to keep up with the pace of agility in most software development teams, what can you do to avoid falling into a situation where the aforesaid challenges start to impede your progress, or impact on the happiness you find with your job or professional career?
How you can rediscover your essence:
If you are experiencing these challenges, or the likes or you want to help team members navigate through them, or maybe you are a team lead looking to nudge your team towards finding the right balance between running the agile race and staying steadfast, the below are a few steps you can take to get unstuck:
- Assess the Situation: Clearly identify what the problem is in your case, and analyze the root cause according to your context. For example, if you find there is a mismatch between your interests, aspirations, and the tasks you are asked to perform. Then it may be a case of speaking to the right people about it.
- Seek Support: Be open about the challenges you face. Discuss with your manager, a mentor or consult with colleagues you think may help provide you with clarity on your role expectations and demands etc. For example, it could be that there are aspects of the problem that you may or may not be able to change. Identifying those will help you chart a pathway forward.
- Develop a Plan: Break the problem into smaller pieces, identify what you can influence, then develop a plan for the actions you need to take. Ensure your plan is one that is manageable within the context.
- Take Action: Make decisive moves to act upon your plan. Start small, and take note of the progress you make each step of the way.
- Reflect and Adjust: Regularly review your progress in your plan, and the development you make in the team. And make necessary adjustments to your plan whenever you spot areas for improvement.
Final thoughts:
Whilst on it, remember to keep a positive mindset. Focus on the daily progress and value you bring to your role, and remain optimistic about overcoming any hurdles you may face. And finally, ensure you take care of your physical and mental health to remain productive.