Most of the organizations I work with are embracing agile or some variant of lean development and delivery. While agile has been around for a while, there are still several organizations that are just beginning their agile transformation journey or are continuing to refine their agile practices.
Due to the critical nature of software in our lives, we’re all aware of the need for more software testing expertise. The good news is that the IT industry continues to need skilled software testing roles; the downside for hiring managers is that those with deep experience in software testing are becoming more difficult to find.
A few people have inquired about how to find great software testers—in particular, more senior software engineers who can effectively carry out roles such as test architect, senior test automator, or senior test designer.
Often, the people you want to hire are the ones who are gainfully employed. There are exceptions, of course, but for the most part you’re not going to find these team members posting their resumes on job sites. Secondly, this is not a task you can delegate to your HR team—at least not without some coaching and continual involvement.
In my experience, finding great senior people is all about relationships, relationships, relationships. Here are my suggestions for identifying qualified and experienced software engineers who can deliver on senior testing role accountabilities.
Be visible in the right communities. These steps get you engaged in professional networking about software testing.
- Develop a realistic job description for the defined role, and be specific about the knowledge and experience you are looking for.
- Network with your peers.
- Participate in subject-matter blogs and online communities. Contribute posts and take a look at those who write posts.
- Attend testing conferences so you can network, see the people giving sessions, tutorials, and keynotes, and post your job openings.
- Post your openings on LinkedIn and make connections with others.
Grow your own employees. This approach focuses on promoting from within and providing growth opportunities to those already in your organization.
- Identify prospective candidates within your organization. Look across key departments such as development, the architecture team, the business team, and the existing testing team.
- A test architect may be the next step for a senior tester or senior developer. A senior test designer role might be a good fit for an existing senior business analyst.
- Mentor, coach, and train. Get candidates through the appropriate testing courses and software testing certification if this is of value to your organization.
- Define a specific accelerated personal development and training plan for those individuals.
Hire an interim expert. This allows you to get critical work completed while securing a permanent team member.
- You can hire a temporary consultant as a test architect, senior test automator, or senior test designer and have them train a candidate on your existing team.
- A temporary consultant also can assist you with developing the job description, plugging you into the right communities, and locating or even interviewing candidates.
Finding qualified people to fill certain software testing roles may be challenging, but the rewards will be apparent when they contribute to the improved quality of your applications and systems.
In the Scrum implementation of agile, we have three roles: the product owner, ScrumMaster, and team members. The team works together to define the need or problem, develop the solution, and test the business value to be delivered before, during, and after development.
The ScrumMaster serves the team by providing facilitation and coaching, including helping the team remove roadblocks, orchestrating the daily standups, working with the team to define and refine their practices, and working with the product owner to prioritize stories.
Among the challenges that ScrumMasters face are prioritizing work in collaboration with the team; helping team members decide who is best suited for tasks; keeping the daily standup focused and timeboxed; facilitating communication across the team, particularly if the team is distributed and in different time zones; keeping the emphasis on quality practices and outcomes; and dealing with senior management who may not yet have fully internalized the agile principles of team empowerment.
Those in testing roles help build quality into the process and product early, so they’re in a good position to collaborate with the ScrumMaster to improve agile processes. Here are some ways testers can partner with, support, and assist the ScrumMaster—and the rest of the team:
- Lead a team discussion with the ScrumMaster on the team’s quality approaches and provide mentoring and coaching on quality assurance and testing practices
- Help the ScrumMaster and team understand the benefits of continuous quality and implement approaches for verification at every step, such as grooming the backlog and testing user stories as they are being developed
- Advise the ScrumMaster on risks and focus on completing higher-risk stories first and implementing mitigation strategies for identified risks
- Be a model team member in demonstrating communication and collaboration within and across teams and with distributed team members
- Educate the ScrumMaster on the many dimensions of functional and nonfunctional testing that may be necessary in sprints, such as testing APIs, data, mobile interfaces, application security, compatibility, performance, and so forth
- Provide the ScrumMaster visibility into the benefits of static and dynamic analysis and help the team implement tools, automation, and reporting for these early defect-prevention techniques
- Contribute to the definition and refinement of “done”
- Communicate the value and opportunities for automation to the ScrumMaster and team, not just for testing, but for the entire software development lifecycle
- Remind the ScrumMaster of the importance of a lightweight set of measures and metrics and the criticality of rapid feedback, and help implement the appropriate team dashboard
- Help the ScrumMaster be alert to cross-dependencies with other teams
In the most effective agile teams I’ve worked with, those in testing roles become true and trusted partners to the entire team. Partnering and collaborating with the ScrumMaster helps balance the focus on development and quality, yielding improved business value.
Originally published on TechWell Insights.