Test Leadership is here to stay
In his article "What leaders do", J.P Kotter makes the following distinction between management and leadership:
Managers promote stability, leaders press for change
- Management involves planning and budgeting. Leadership involves setting direction.
- Management involves organizing and staffing. Leadership involves aligning people.
- Management provides control and solves problems. Leadership provides motivation.
The left hand side sounds a whole lot like what test managers traditionally do or have done in the past.
But, as organisations move to a more agile methodology tasks associated with these responsibilities are becoming redundant.
No more Test Team
Testers frequently sit within an agile team alongside UX people, a product manager, developers and operations. Often they report to a senior person within the team. Large independent test teams no longer exist. The need for a test manager from a people management perspective is no longer required.
No more Big Test Strategy
Small agile teams working on small stories reduce the size and complexity of work involved. Any decisions on testing are typically made at a team level as autonomy and decision making is pushed down into the teams. There's little need for a formal test strategy for work at a team level, and little need for a test manager to develop a large test plan or test strategy that outlines testing and resources required over an extended period of time.
No more Formal Test Process
You have 10 days to think and complete testing for a story. If you're lucky, five days of that may be actually testing. Who the hell is going to worry about writing test cases and a formal test report? The nearest you get to a formal test process is a Jira Workflow. So bye bye formal test process. Bye Bye Test Manager to enforce test process.
No more Formal Testing Metrics
Metrics are becoming more team focused. Teams are using metrics such as MTTR (Mean Time to Recover), or LTTR (Lead Time to Deployment). Interesting ideas, and I'm glad to see a shift perceptions of quality. Again though, we don't specifically need a test manager to report on these metrics.
No more Gatekeeping
Testing has traditionally (and unfairly) been the Gatekeeper to ensuring quality. The business sees the testing department as a method of control. I suspect the entire testing community is heaving a quiet sigh of relief at the demise of this one! Ensuring quality is a fool's game, as there is no way you can win. It's akin to forcing someone to sign a pre-nup to ensure love. Good luck with that.
No more Test Managers then?
Yes and No. The role of test manager as we know it is dissapearing. There's evidence of the demise of these roles in many of the large enterprise organisations I work with.
But while there's less need for test managers that doesn't mean that the thorny challenge of testing has disappeared. And while deploying in bitesized pieces reduces risk, it doesn't it remove entirely. Often the risk is displaced to somewhere we are not used to investigating.
Something AWS discovered much to their dismay.
— Creighton Kirkendall (@crkirkendall) February 28, 2017
Some of the testing challenges many companies are facing:
- How do we test large scale systems and architectures (think Microservices)
- How can testing be an activity that all perform?
- How can we develop the testing capability within teams?
- How can we get better diversify our thinking in our testing?
- How can we think about testability as part of systems design and architecture?
- What part do testers and testing play within our teams?
- What skillsets do I need testers to have? Is it just one type of skillset?
- How can you test in production?
- How can we better understand and provide information on quality?
- How can we better respond to change, that is either in and out of our control?
Let me explain that final point.
Software Testing doesn't have a great reputation for being flexible and adaptive to change. The way we test is deterministic. Think gated process and scripted test cases. But then neither is Test automation.
Like it or not, change happens. Sure, the extent to which change happens and the nature of that change may depend on the industry and technology you work with. What becomes important though, is how we handle that change. And, how we equip our teams with the ability to adapt to change becomes the task of a test leader.
We need confident self possessed software engineers, equipped with the ability to think critically through whatever challenge crosses their path. We need to help them work together to solve whatever testing problem comes their way. This requires a positive and safe environment where teams become 'test-infected' and have a culture of continuously thinking about improving their testing.
Test Leaders provide this breathing space for a testing culture to grow. They achieve this by placing an emphasis on vision, strategy and motivation and alignment. Examples of this are coaching, training, knowledge sharing and making information visible to the rest of the organisation.
A testing culture that provides this space itself generates test leaders. That's important, because to some degree every tester is an advocate of quality and that in itself requires a degree of test leadership.
The skill set required in test leadership is different to test management. It's more aligned to coaching, connecting people and driving a shared vision of quality for your company. It requires revisiting ideas on why we test and what software testing actually is and how we can continue to deliver value in a different context.
But I don't see uncertainty going away, in fact I only see it increasing. And so, neither is test leadership.