Editor’s Note: Welcome to the Leadership In Test series from software testing guru & consultant Paul Gerrard. The series is designed to help testers with a few years of experience—especially those on agile teams—excel in their test lead and management roles.
In the previous article, we took a look at enterprise business process acceptance. In this, the final article in the series, we’ll look at the ever-changing landscape of test management and how to keep progressing your testing management career.
Sign up to The QA Lead newsletter to get notified when new parts of the series go live. These posts are extracts from Paul’s Leadership In Test course which we highly recommend to get a deeper dive on this and other topics. If you do, use our exclusive coupon code QALEADOFFER to score $60 off the full course price!
When you are a test manager in a project, it is very likely that people will assume you are the expert on all things testing-related. Other team members will probably have their own well-founded or eccentric views on testing; some may have (or at least say they have) more experience than you. Expectations of testing are often unrealistic and even experienced people take up lazy positions on what testing can achieve. Some people will doubt your competence, value to the team, or even your motivations. It can be tough.
This summary of what it is to be a test manager bears repeating. It sets out the real and significant challenges in the role:
You work in a discipline that your management may not understand or appreciate
Expectation placed on you and your team will probably be too high
Your peers in development and DevOps may believe that ‘anyone can test’
Next year, and the year after, you’ll be using different technologies to today
The core skills you need to advance your career could include customer experience optimisation (CXO), DevOps, assurance, automation, real-user monitoring, analytics, machine learning, artificial intelligence
Testing is changing dramatically, and you need to adapt to survive.
In this article, we’ll explore these challenges, the future of test management, and what steps you might take to survive and thrive in a new world. We’ll also look at opportunities for test managers to reskill and take on alternative roles.
In this series, we have introduced the critical concepts, activities, and — hopefully — the value of test management. These all remain true whether you are a test manager running a team of testers, have responsibility across a programme of projects, or you are part of a self-managed team
What does change is the environment you work in. Certainly, the technologies change in minor ways every year and, every few years, there is a spike. Each technological advance has demanded we re-think what we do as technologists, architects, programmers, and testers.
Our development approach is transforming from structured methods to agile and most recently continuous delivery and DevOps.
The motivation for these articles was that we would focus not on the technology or the ways of working. Rather we’d focus on the principles of testing and test management, free from what we call logistics – process, technology, business environment, and so on.
By understanding the underlying principles, we prepare ourselves to deal with anything that is thrown at us in projects. Technologies, methodologies, and tools come and go, but the principles stay the same.
Learn to Adapt
The first piece of advice I can give you is that you must learn to adapt. Remember the subtitle of Kent Beck’s book, “Extreme Programming Explained” was, “Embrace Change”.
The Agile Manifesto builds on that simple message and encourages you to adopt a set of values that help you to be responsive, not resistant, to change.
Some people think that agile is an approach – it is not. It is an attitude to change, or perhaps even – a philosophy.
So, as your technology landscape, processes, and business environment change, you must trust that your principles are constant.
Identify your stakeholders and ask them what they need from you. Use models to simplify complex systems and requirements. Use those models to communicate the testing challenge, identify coverage measures, and explain how much testing will be done and has been done.
To be confident of the universality of test principles takes experience, but you must be open to that suggestion in the first place.
As you progress in your career and experience different working and technical environments, identify and separate the logistics and working practices from the thinking of project participants.
Ask “based on the fixed inputs and context to this process, how did this team decide to work this way?” Understand the difference between the two and how logistics are transient, but principles are universal.
Keep Volunteering, Keep Learning
As you and your team encounter new situations and problems, always be open to volunteering to take ownership of them or take the leadership role in solving them. In almost every respect, software projects are actually challenges in group learning.
Stakeholders and users learn how to describe their problems and how systems and software can help to resolve them.
Developers learn how to map software design to business outcomes and solve technical problems.
Testers learn how to demonstrate how a system meets the needs of stakeholders and users, use the risk of failure to path-find mistakes and hazards, and advise their teams on how to avoid them or provide evidence that they are mitigated.
In all respects, these learning challenges depend on information gathering, rational thinking, evidence-based decision-making, and persuasive skills.
Volunteering to address or manage these challenges will teach you valuable lessons. Your reputation in the wider software team will be enhanced and, when projects reach critical stages, senior managers will see you as a safe pair of hands able to handle difficult tasks.
A willingness to volunteer to take on new, unique challenges gives you valuable experience and sets you apart from other members of your team.
Business, Leadership, Communication Skills
There are three non-technical skills areas that you will need to excel. Having these skills will mark you out as an exceptional tester or manager. The three areas are:
Consider learning more about your project stakeholders’ business. If you are building systems for marketing, for example, put effort into learning more about marketing. This will help you to have more intelligent conversations with stakeholders, understand their motivations and concerns, and to be taken more seriously by senior decision-makers.
If you work for a software product company, learn how the company operates from the perspective of product sales and marketing, licensing, the product development lifecycle, maintenance, and billing. In this way, you will be seen as a more knowledgeable and rounded professional and, again, will understand the motivations and concerns of key stakeholders.
Leadership is probably the most important management skill there is. Leadership is required to build strong, effective, and stable teams. The logistics of recruitment, delegation, supervision, and direction are important, but the effective leader needs to set a vision for the team, devise an approach or process to achieve the mission, and the ability to build personal relationships with team members to gain their respect, loyalty and commitment.
Leadership courses might help, but most people learn through experience and with the support of a leadership coach or mentor (see later). Don’t rely on just your technical and organisational skills. Great leadership skills will set you apart from your peers.
Perhaps the biggest difference between being a developer or tester is the need to interact and communicate with other team members, management, stakeholders, and suppliers. A developer’s main interaction may only be with a small number of peers, a business analyst, and a tester.
A tester or test manager needs to deal with almost every role within a software team. Beyond that, you might be liaising with senior stakeholders and external suppliers of services, software, and hardware.
Communication is a two-way street. Your ability to assimilate large amounts of possibly conflicting information from diverse sources is a constant challenge.
Of course, you also need to communicate outwards – to your team, stakeholders, developers, and suppliers. It’s not just handing off data, either, you need to inform, persuade and influence in various ways and situations.
Find a Coach or Mentor
It goes without saying that to enhance your skills and progress in your career, you’ll need some help. Help, in this case, comes in the guise of coaches and mentors and, although the two terms are often confused, we think of them as distinct roles.
There are many variations of the definitions, styles, purpose, and value of mentoring and coaching. We can only skim over the subject here, so do some research to see what would be most useful to you. This is our summary of what coaches and mentors can do for you.
The goal of coaching is usually to help a coachee to achieve a specific goal such as learning how to better manage a team and improve performance. Coaches are not necessarily experts in the field you need coaching in.
Coaches tend to ask endless questions and challenge you all the time. The goal of coaching is to facilitate thinking and action on the part of the coachee. Typical questions would be:
What is your goal?
What do you need to achieve it e.g. support, resources, time, money?
Is your goal meaningful, attainable, worthwhile?
How will you measure progress?
As you progress, is your goal still a good motivator? Is the goal changing?
Are you making progress? What are the barriers to make progress?
How will you overcome barriers? Can you finesse or avoid them?
The coachee has to think their way through the problem and do all the work. By thinking clearly, your goals, motivation, and understanding of how to make progress all come from within.
The goal of mentoring is usually to develop some skill or capability and make an incremental change, for example, to transform to agile or to implement test automation. A mentor is typically an expert in the field to be worked in (this does not preclude them from being a coach too). Typically, the dialogue between mentor and mentee is less one-sided, with the mentee asking as many questions and the mentee offering suggestions.
In this way, the mentor helps the mentee to think more clearly and may give advice or set out options for the mentee to consider.
A testing mentor may suggest an approach or offer a framework to put together a test strategy, for example. The mentee collects the data and writes up the various sections of the strategy. The mentor might give feedback and advice on how to improve the content, writing style, level of detail, filling in gaps, and so on.
These definitions of coaching and mentoring are not standardised. In your own organisations there may be accepted definitions and even recommended coaching and mentoring protocols – so pay attention to those.
Be a Coach or Mentor
A large part of management, and leadership, in particular, is helping your team to develop and perform better. In some ways, as you first meet and get to know your team members, you will develop a lasting personal relationship with your role emerging as a coach or mentor to each member of your team.
The relationships you have as coach and mentor are obviously different and cover different career aspects than the relationship you have with your own coaches and mentors. But by playing both roles you will gain insights on how best to develop people and develop yourself.
A lot of people who enjoy coaching or mentoring volunteer for roles outside their working environment. If you have a background in a sport, such as a football or athletics, you might coach the younger generation. Other avenues include adult education, business coaching, or teaching something you do as a hobby such as gardening or home maintenance.
At any rate, being a coach and mentor will expand your outlook, improve your interpersonal and communication skills, and enhance your confidence with people.
From time to time everyone has to give a presentation at work. A common route to better presentation skills is to submit proposals to technical conferences. These range from the international shows with a thousand delegates to large exhibitions, pre-conference tutorials, and keynote speakers, to local meetups with ten or fifteen enthusiastic peers in a pub.
Needless to say, if you are new to presenting, it’s easier to start with a local meetup than to pitch for a keynote at an international show. Meetups are always looking for speakers, especially talks from experienced practitioners.
Find a meetup in your area, attend one or two, ask the organiser what they are looking for in talks – and make your offer. All internationally renowned keynote speakers started somewhere and a meetup is as good a place as any.
Leaving Test Management Behind
If your organisation embarks on an agile transformation, it is possible your test management role will be phased out (or quickly eliminated). Whether you think it is a good decision to drop the test management role or not, you have to deal with it. In these circumstances, you usually have a few choices.
You could revert back to being a tester in an agile team, become a specialist in technical or performance testing, evolve your role to be assurance-related, or leave the company. If you leave the company, you’ll either find another internal test management role or join a testing service company.
We’ll look at two of these options: assurance and testing services.
Moving to Assurance
Assurance (not quality assurance) is an emerging discipline that is testing-related, rather than being a testing discipline. Ex-test managers are well qualified because they know how to run an internal testing service, have experience dealing with suppliers (of development or test services), and are able to manage senior stakeholders.
Assurance roles embrace a range of disciplines:
Overseeing the testing of external or internal organisations
Typically, you might be involved in the definition or review of test strategy. Once the project kicks off you provide consulting support to test teams in the early phases. Later, you review and assess the performance of testing and give an independent perspective of the reporting done by suppliers to project boards.
Assurance leadership roles include the test assurance activities above, but the scope of responsibility might extend in several other directions. Firstly, you might have an advisory and independent review responsibility for all deliverables of the project.
You might review requirements, designs, test plans, risk assessments, phase entry, and exit meetings, phase-end reporting, and attend regular project status reporting sessions to give your independent view of progress. Some roles extend into data migration, talent acquisition, cutover, and roll-out phases of a project. In principle, where there is a project activity with dependencies and deliverables, there is a potential role of assurance.
Assurance Management might require you to run a small team of people who specialise in test assurance, performance testing, information assurance, user experience design and assessment, and so on. In larger projects, especially those for central government, assurance teams are common.
Agile testers perform “assurance in the small”. An agile tester performs all of the activities mentioned above but in the context of a smaller team. They liaise and challenge stakeholders, support and coach developers in testing, advise and steer the work of users who test, and, sometimes, they do some testing themselves.
Typically, assurance roles require that you have no day-to-day involvement or responsibility for delivery. It is important that you are able to take an independent view of the performance of teams throughout a project – both internal and external.
It can be a rather isolated or lonely job – you are not part of the project team except by secondment. But you are usually accountable to the project sponsor and business stakeholders. It can be a very senior and influential role on occasion.
Assurance requires a broad range of technical and non-technical skills and strong management and communication skills.
Becoming a Consultant for a Service Company
A common pathway for skilled test managers is to join a testing service company. Testing services span all roles from a junior tester to large programme test management and assurance positions. Providing professional services requires a slightly different perspective than you might be used to and it is not always a comfortable transition.
You might be called on to get involved in a project very early and be responsible for drafting test strategies for projects in business domains you are not familiar with. The clients and their suppliers’ working practices might be very different from what you are used to.
This can be daunting in critical business programmes, especially where timescales and projects are under pressure to deliver. Sometimes you might find yourself in a role where you feel underqualified; sometimes the reverse is true and you have to work with or for less-experienced client personnel.
At any rate, becoming a consultant and working with a range of clients is a great way to accumulate a lot of experience in a short period of time. As a consultant, your range of capabilities will increase and, if you choose to leave testing services to return to a permanent role in an IT department, you should be much better qualified to join at a more senior level.
Testing services requires good technical and interpersonal skills but, more than anything, you will need to have a flexible and pragmatic attitude. Working with clients can be alternatively exhilarating and boring, exciting and frustrating. Again, it’s not for everyone and sometimes you have to travel more than you would like, but it could give you a lot of experience in just a few years.
Whatever your career path, we wish you the best of luck.
Sign up to The QA Lead newsletter to keep up to date with all our thought leadership in from the world of testing. These posts are extracts from Paul’s Leadership In Test course which we highly recommend to get a deeper dive on this and other topics. If you do, use our exclusive coupon code QALEADOFFER to score $60 off the full course price!