TSM - How can we apply a skill acquisition model in software testing?

István Nagy - Senior Tester @ iSDC

Every four years during the Olympic Games we admire the athletes who are going beyond their limits, who establish new records and bring glory to their team and country. We consider them experts in what they do and some of us know the struggle, hard work and the sacrifices they make to reach the top of the podium. Similarly to athletes, individuals, who want to be the best in their profession, need to go through a long journey from beginner to expert.

The current paper discusses how we can evaluate the level of expertise we have for a particular skill, and what we need to take a step forward and become experts in what we are doing. I will present a skill acquisition model and I will mainly focus my examples on the software testing area. The presented concepts are, however, generic, so they are valid and applicable to any other skill.

To learn about the journey one needs to go through to become an expert in a certain field, we will first look at the Dreyfus model of skill acquisition, which describes how individuals acquire skills through formal instruction and practicing. It was proposed by the Dreyfus brothers in 1980 and it is based on research conducted at the University of California, Berkeley. Unlike other models or assessments that rate the whole person, this one is applicable per skill. The model proposes that a person passes through five levels when acquiring a skill:

Novice:

Advanced beginner:

Competent

Proficient

Expert

Some important changes that take place as we move up the skill levels are:

Dreyfus model of skill acquisition

The model was applied with great success in more industries like aviation or healthcare. Applying it in software testing could enable us to grow more skilled and performant testing professionals. Let us see how we can take our testing skills to the next level.

First, it is important to be aware of the level of the testing skill we have. Studies showed that people who are not very skilled in a certain area tend to think that they are quite experts in it. This lack of accurate self-assessment is known as the condition of being unskilled and unaware of it. This symptom is a big problem in software testing, because many testers and managers are not aware that better methods and practices even exist. As Aristotle said "The more you know, the more you know you don't know". So, in order to increase our self-awareness we have to improve our skill level. The simple knowledge of the Dreyfus model can increase our self-assessment abilities and can help us reach for the next level.

Second, leveling up takes patience, hard work and a lot of practice. According to some researchers it takes up to 10 years or about 10 000 hours of practice for a person to reach expertise in a complex skill. In conclusion, patience is essential, but not enough. Deliberate practice is the key to expertise and it can be realized by applying the following steps:

Last, but not least, we have to accept and embrace responsibility for our development. It is essential for testers to not only "follow orders", but to also challenge the requirements and constantly provide feedback to software architects, developers and project stakeholders.

When putting the model to practice, we have to keep in mind that there is no golden rule that can be applied to every person. Each individual is different and has different needs depending on what level they are on. One's needs of learning and personal growth are also changing over time, as people are progressing with their skill set levels. Also, if we are working in a team, besides having self-awareness about our own skills, it is also essential to acknowledge and take into account the skill levels of other team members.

Dreyfus model

The ones for whom testing is a new skill and are thinking about learning it should consider the following phases that are necessary for acquiring a new skill:

First, a person has to imitate existing practice, follow receipts, and then slowly assimilate the knowledge and experience. Finally, one can go beyond imitation and innovate. During these phases, especially in the first one, it is really important to have a more experienced mentor who can guide us and can provide constant feedback.

We can see that the above model proves that each individual skill has to be considered and developed separately. In the software industry, if we want high quality products, we should recognize the importance of testing as an independent skill and we should train highly-skilled testing professionals. It is very important to grow people to the competent level as soon as possible so they may become independent and start seeing their actions in terms of long-term goals.

For organizations, it is essential to identify their proficient and expert employees, provide them the right environment and reward them. Testing experts must be able to continue to test if they want to and find a meaningful and rewarding career there, instead of going towards management or other higher positions just for a higher-pay scale.

In conclusion, there are no shortcuts to becoming an expert in a certain skill. We cannot skip levels. It takes hard work and practice. The Dreyfus model of skill acquisition can be a real useful approach in skill development, if applied correctly. We should use it as a tool to identify the level we are on, so we can start pushing our boundaries further.

Bibliography and further reading: