I recently had a very interesting conversation with a group of skilled testers on whether or not there should always be a test specialist in a cross-functional team.

Coaching developers in testing practices helps their teams succeed, forcing them to retain a specialist doesn't, if not in the short term — Augusto Evangelisti (@augeva) May 26, 2017

A lot of people say yes, my personal experience says not.

My personal experience tells me that the most effective and efficient approach uses a test coach that slowly makes himself scarce. My experience focuses on creating competencies for completing an activity (testing) in a collaborative context.

One aspect I am finding difficult to explain is the impact on queues of a test coach approach, I will use a series of Scenarios and pictures to facilitate my reasoning.

If you feel like substituting activity A = development and activity B = testing feel free, but this approach is activity agnostic in my experience as I have applied it to analysis, and development obtaining similar results.

Scenario 1 – Test specialist

In the presence of one specialist on Activity B and many specialists on activity A.

Problem: Long queues form in Ready for Activity B (Case1) or worse specialist multitasks on many activities at the same time slowing down flow of work as per Little’s law (Case2)

Scenario 2 – Test coach

Stage 1: In the presence of one coach on Activity B and many specialists on activity A

Initially coach pairs on Activity B with people that do activity A. This way we obtain 2 benefits:

Queue in “Waiting for Activity B” is reduced as one person normally performing activity A is busy pairing with coach on one activity B task By pairing on activity B feedback loops are shortened Person with activity A acquires new skills to perform activity B from pairing with coach Quality of activity B increases as it is a paired activity Flow improves because of 1 and 2

Stage 2: When cross-pollination of skills required for activity B starts to pay off, we have 2 benefits

Normally some activity A person will show particular abilities with activity B, in this case this person can pair with another less skilled activity A person to perform activity B Queue in “Waiting for Activity B” is reduced as more people with activity A skills are performing activity B Flow of value improves lead time decreases More activity A people get skills on activity B

Stage 3: All activity A people are able to perform activity B

Activity B Coach can abandon the team to return only occasionally to check on progress. Benefits:

Activity A and activity B can be performed by every member of the team the WIP limit can be changed to obtain maximum flow and eliminate the queue in Ready for Activity B. The flow of value is maximised The lead time is minimised

WARNING: I have applied this approach to help teams with testing for many years. It has worked in my context giving me massive improvements in throughput and reduction of lead time. This is not a recipe for every context, it might not work in your context, but before you say it won’t work, please run an experiment and see if it is possible.

This is not the only activity that a good test coach can help a team on, there are many shift left and shift right activities that will also reduce the dependency on activity B.

I have been told a million times “it will never work”, I never believed the people who told me and tried anyway, that’s why it worked.

Try for yourself, if it doesn’t work, you will have learned something anyway.