Leadership in Quality

Leadership in Quality

While test management is less justifiable there is still a need for test leadership.

As organisations struggle to become more innovative, to respond quickly to market changes, engineering has responded by turning to continuous deployment and cross-functional teams to help meet this demand for rapid change. Many companies struggle to make software testing fast, and keep the quality they need to maintain trust with their customer base.

Organisations need experienced and seasoned testers who have the maturity, vision and courage to drag testing from the dark ages and pull it into the 21st century. Test Management is not going to do that, but Test Leadership might.

“Managers promote stability, leaders press for change.”
J.P Kotter

Software Testing needs leaders, not managers, to deal with these current challenges and help pull it into the 21st century. We need test leaders working within organisations who have a vision of how testing can be better, and the courage to make those ideas a reality.

Test Leadership at Tyro Payments

With good reason is banking a heavily regulated, risk averse industry. Banks are entrusted with people’s money. Reliability, Security and Performance are key quality attributes and testing reflects this focus.

Tyro Payments sits within the fintech community. Its banking platform is developed in house using agile processes such as XP, pair programming and TDD. Everyone at Tyro Payments is responsible for quality. Quality is not the gatekeeper. Software Testing is an activity that all engineers perform.

A Quality Engineer is a software testing specialist. Their skills include analysis and customer focused problem identification. They’re experts in systems thinking and they share this knowledge with the rest of the team. Helping the team make informed decisions about quality.

Test Strategies are owned by teams and the role of the quality coach is to facilitate this discussion. Testing strategies are designed to evolve and change, keeping the testing relevant to stakeholders.

Another example is security. Security is something everyone is responsible for. In addition to a specialised security guild, all engineers are trained to be aware of current threats and vulnerabilities.

This agile approach extends to working closely with regulators, incrementally identifying through experimentation, the what is required to obtain a banking license.

Test Management

Not having a test manager, doesn’t mean typical test management tasks such as hiring, process improving disappear. Instead of being owned by a test manager they are distributed among the team through autonomous self selection. The team is responsible for recruiting, improving the testing process, internal training, social activities etc. This benefits the testing practice in two ways. It frees up a test leaders time, allowing me to focus on coaching and training, but also it provides opportunities for people to acquire new skills.

Rapid Growth

Tyro Payments is synonymous with rapid growth. Quality Engineers need to keep pace with this change to avoid becoming blockers.. Quality Engineers are embedded into development teams and pair testing between software tester and software developer was introduced. Lean Coffee sessions open to everyone helped engineers engage at a practical level.

At inception, quality engineers ask questions that prompt further discussion with the business. They help clarify and identify assumptions in stories making it easier to test down the path. Another way is to improve testability. Testability is how easy (or hard) software is to test. One popular question during planning meetings is ‘how will we test this’?

More and more it’s the team that’s working together to improve testing. For example, load testing credit card terminals can be a painstaking process. Often it’s the quality engineer that ends up swiping a credit card again and again in the attempt to load the system. It’s a repetitive task, and pretty ineffective as a solution.

The quality engineer brought the problem to the team. An innovative solution was developed where credit cards were hooked to a model train, allowing the process to be automated.

Coaching and Training

Training and coaching is essential for quality engineers to continuously improve. Coaching works best if initiated by the quality engineer. Coaching is better performed with both quality engineers and software developers. Rarely does a QE work in isolation, so it makes sense for teams to understand the testing concepts.

We’ve extended software testing training to be available to all engineering. That means cross functional teams have training and coaching on testing available to them. Topics such as Exploratory Testing, Test Strategy creation, Test Design were provided to the whole team.
Quality Mindset

It’s not what the QE’s do that matters so much as their mindset. Quality Engineers are proactive, providing input into the team from inception to release, making decisions along with the team on all aspects of testing. They are part of the team, and are treated as such. They give input on testing at planning meetings, while pairing with developers, at daily stand ups and retrospectives.

Each cross functional team is its own microcosm and consequently how testing is performed in each team differs slightly. The QE skill set varies too. Many QE’s pair with developers, providing input into potential tests. But it’s not always the case. Some QE’s focus on working closely with business teams, helping them work through and create business processes. Close ties to the business are required so we can listen out for challenges they’re facing and feed that back into engineering teams.

What is consistent is that Quality Engineer’s need to be confident and self assured. They need to be able to know when to stand their ground but also when to let go. It’s this nuanced approach and understanding of team dynamics, along with great testing ability that differentiates our quality engineers.

Coaching and Training

Training and coaching is essential for quality engineers to continuously improve. Coaching works best if initiated by the quality engineer. Coaching is better performed with both quality engineers and software developers. Rarely does a QE work in isolation, so it makes sense for teams to understand the testing concepts.

We’ve extended software testing training to be available to all engineering. That means cross functional teams have training and coaching on testing available to them. Topics such as Exploratory Testing, Test Strategy creation, Test Design were provided to the whole team.

** Quality Mindset **

It’s not what the QE’s do that matters so much as their mindset. Quality Engineers are proactive, providing input into the team from inception to release, making decisions along with the team on all aspects of testing. They are part of the team, and are treated as such. They give input on testing at planning meetings, while pairing with developers, at daily stand ups and retrospectives.

Each cross functional team is its own microcosm and consequently how testing is performed in each team differs slightly. The QE skill set varies too. Many QE’s pair with developers, providing input into potential tests. But it’s not always the case. Some QE’s focus on working closely with business teams, helping them work through and create business processes. Close ties to the business are required so we can listen out for challenges they’re facing and feed that back into engineering teams.

What is consistent is that Quality Engineer’s need to be confident and self assured. They need to be able to know when to stand their ground but also when to let go. It’s this nuanced approach and understanding of team dynamics, along with great testing ability that differentiates our quality engineers.

Autonomy in Quality

Quality engineers have the autonomy to make testing decisions they need. Most QE’s discover that involving the team in this decision making is a lot more powerful than making decisions in isolation. Decision making can be a difficult process when the consequences of the decision have a big impact. Knowing what to consider, and the impact of the decision is a coaching point for many QE’s..

The result of allowing people to make decisions is that sometimes they will not make the ones you agree with. Any person in a leadership position will need to live with that. Decision making is a skill acquired through good and poor decision making. If you allow people to make decisions and then penalise them for poor decision making, the result is disenfranchised QE’s or worse, QE’s unwilling to declare their interest in the decision making process.

Continuous Delivery

A working quality strategy for continuous delivery was developed. A living strategy enabled experimentation and the adoption of an iterative approach. The strategy was inclusive, with both developers and operations involved in decision making.

An iterative, test and learn approach, conducting low risk experiments helped move the dial. The QE’s were involved in the process. They recommended testing early and often and in production like test environments. The Quality Engineers had to consider how exploratory and performance testing was going to be executed. They looked at feature flags to facilitate testing in production, parallel environments for performance testing, the use of synthetics and of course extensive monitoring in production.

Ready access to controlled test data that enables a diversity in testing is a high priority. Diverse test data hits lots of different business scenarios, and is relevant to our customers. Understanding how our customers behave through production monitoring tools will play a large part in determining what data is required.

Continuous Improvement

But this is only one point in time. In the future, the challenges that Tyro Payments and its team will face will change. Newer technologies such as AI become more prevalent in how we develop and test software. New ways to develop software will emerge, and we will shake our heads as we think of how we used to test in the bad old agile days.

Test Leadership has no easy algorithm or set of rules to follow that will ensure success. Being passionate about your vision helps of course, as does courage, when you face inevitable opposition. Empathy can go a long way to understanding others perspectives. Test Leadership is not for everyone but the reality is that for the majority of us working in technology, our biggest certainty is uncertainty. Test Leadership may just help us prepare and perhaps even embrace this future.

}