A competency matrix, also known as a skill matrix, is a tool used to map required skills for an employee or a team. It is an essential tool where the grid makes it easier to visualize the required and available skills in a team.
The competency matrix is one of the risk management tools. It helps allocate tasks with load balancing, burnout avoidance and unexpected losses of key competencies in the team.
Competencies management is important
Every manager or team leader faces unexpected problems. Just days ago everything was under control, and now one of the key developers says that he is leaving the team because he does not see any development future. At the same time same thing comes from a new one, but a promising developer. They both doesn't understand how to grow further and what to do, and they started to lose interest and motivation to continue their work on this project.
There are also more general situations. For example, a customer asks to redistribute the team between two projects, and it is not clear how to do it. If you remove one of the developers, the first projects will fall, and if you move another one, everything will break. Even worse is when a person with unique skills leaves the team and there is nobody to replace him - the so-called Bus-factor. Quite badly, if it happens unexpectedly and there is not much time to hand it over.
All these situations are unpleasant, but there is good news. A simple tool, the competency matrix, will cope with them.
What is a competency matrix?
It's a table with the roles and skills that are important to the team goal. It's roughly like this:
The numbers in the table show how well the employees have developed the required competencies. These can be both Hard Skills and Soft Skills. The table can look any way you want.
You can access each competency on any scale: numbers, signs, or letters. The main thing is that they should be synchronous for each employee and each skill. For instance, one in skill 1 and one in skill 3 should indicate the same level of proficiency. Without this, you will not have adequate analytics.
How to assess skills
Correctly assessing any competency will be easier if you know how people learn. Let's look at the graph:
On it, we see four sectors:
- Unconscious ignorance: a person doesn't know whether he/she needs some skill or not, or does not know about the existence of this skill at all.
- Conscious ignorance: a person has already realised that he/she needs to understand the issue better and learn something new, but has not done it yet.
- Conscious knowledge: a person has learnt a new skill but has not yet brought it to automatic usage, he/she knows how to do it, but needs to make an effort.
- Unconscious knowledge: a person has brought the skill automaticity and stopped giving himself/herself an account of how he/she solves the task he/she solves and that's it.
This model will help to assess the knowledge and skills of employees. The simplest approach is to take numbers from 0 to 3 and assign each stage. Then it will turn out that unconscious ignorance is 0 and unconscious knowledge is 3. But you can also use other ranges: for example, from 0 to 50 - ignorance, from 50-100 - knowledge, etc. The main thing is that the scale should follow the same logic and rules for all.
How to make a matrix
Working on the matrix consists of 3 stages. Each stage has its peculiarities and nuances.
Stage I. Highlight the skills needed.
The matrix must contain the skills that the team needs to achieve its goals. You can select them according to several criteria:
- By technology (frameworks, databases, etc.);
- by approach (design patterns, etc.);
- by roles in the team (Frontend, Backend, testing, etc.);
- by classes of tasks to be solved (SQL for a Pythonist).
Each skill mustn't be just declared, but described in detail. What does it include? What criteria do you take into account? How will you evaluate it? The answers to these questions need to be recorded.
Stage II. Evaluate each employee.
There are several approaches to this process.
- Assessment 360. Everyone who interacts with an employee shares their opinion on how well they have the skills on the list. The survey can be done in writing or verbally. It's convenient to do it through a Google form. The more people you survey, the more objective the assessment will be. But consider that a very professional but rude person will almost certainly be rated lower than they deserve. So it is better to use this tool to assess Soft Skills.
- Testing. You compose questions and ask the person to answer. The questions should be correct and proper - reflecting the needs of the project. Your job is to objectively assess the skills needed for specific tasks, not PHP knowledge.
- Self-Assessment. You ask employees to score themselves on important competencies. You can define the scale yourself - the main thing is that it should be the same for everyone. Some people overestimate themselves, and some cannot overcome imposter syndrome and underestimate themselves. It is therefore wise to ask mentors or more experienced colleagues to check these grades. This can be a separate way of evaluating the team.
- Mentor evaluation. Mentors and mentors rate less experienced team members on a scale that you set for them. A matrix is made up of their opinions.
Stage III. Actualise the matrix.
It should be done regularly. Here are just a few situations in which you may need it:
- you have a new business opening;
- you're expanding your team;
- you start using a new stack;
- you're launching a new product;
- you start another team.
As soon as there are new unfilled columns and rows in the matrix, it becomes more difficult to analyse it. That's why it's important to keep it up to date. The frequency of surveys depends on the dynamics of business changes. If a team has been working on one project for 10 years, the skills required do not change - the matrix can be updated once a year or less frequently. If the team is working on a startup that is constantly evolving, then the skills needed are different all the time, and the employees grow faster. Then the matrix has to be updated more often - for example, every six months.
This is useful not only for newcomers but also for old employees: every month they improve their skills and their scores change. The matrix helps to assess the efficiency of the team, and their growth dynamics and motivate them for further development.
How to apply the matrix
The competence matrix primarily helps to make managerial decisions. Let's look at an example. We have a matrix for three people and four skills. Which of them is the most effective?
We can get the answer simply by summing up the scores. Then it turns out that Jane is the most efficient. But in fact, summing up makes no sense. It is more important to understand where an employee should be effective.
If we divide skills into classes of tasks that an employee solves, we find out that James is more effective in front-end tasks and Jane is more effective in backend tasks. And the total amount is not important. What matters more is how good they are at the tasks they solve every day.
To help employees understand their level, you can use a matrix as a basis for grading. If an employee's minimum grade for a class of tasks is a two, he or she is a Middle developer. If the minimum grade is three, he/she is a Senior developer. Then the matrix will look familiar. It will also be easier to understand who is Senior and in which stack you have, who is Middle, and who needs to learn some technologies that will be useful to him in the future.
If an employee has a question about how to grow to the next grade and get paid more, the matrix will give you the answer. You simply look at which skills are underdeveloped and set a goal.
How to use the matrix to allocate resources
Situation: your business customer opens a new business line. Now you need to quickly prepare the infrastructure and hire 2 new employees. This is a problem: you can't put newcomers in an isolated team on an isolated module. They don't know the work rules, are not familiar with the infrastructure and don't understand your code-styles. Most likely, you will have to isolate one developer from the existing team. How to do it without damaging the established process?
First of all, you find suitable people among your employees. Next, you need to decide which team to take a person from, so that it would hit his team the least. To do this, you need to make an average distribution of skill across all teams.
Then you will see that you can't take an employee from team №4 - it will hit them the hardest. But you can take an employee from team №3 - it will not affect the average skill level much, and the team will not lose so much in quality and speed.
The matrix will also help with Bus-factor. Often in a team, the main competencies are concentrated in the hands of one or two people. These people know how everything is organised on the project and where everything lies. If they leave, they will take the whole baggage of knowledge with them. It will be difficult to restore the balance. To prevent this from happening, you can use the matrix to detect and eliminate bottlenecks.
Let's say that 3 skills are important for the project: Angular, React and Vue. You have 4 developers who understand these topics at different levels. The matrix shows that Angular is your bottleneck.
This means that it is not very profitable for you to develop on Angular. But if you already have code and components developed on it, you should think about how to expand this expertise and who to pass the knowledge to. The matrix shows that the closest to this is developer №4 - he is the one you should train.
How to balance skills in a team
Sometimes it is important to understand how skilled the team is in certain issues. Here, too, the matrix will help. To do this, you need to plot the average distribution of skills within the team and see what expertise is missing.
In the diagram above, you can see that the team doesn't know Angular well. If you are switching from Angular to Vue, it's not a big deal. But if your core functionality is developed in Angular, it is time to increase competencies in this topic within the team.
It's also important to keep an eye on the balance of grades. If you have a lot of Junior specialists and only one Senior, the latter will soon get bored. But when it's the other way around - a lot of Senior developers and only one Junior - it's also bad. The more experienced ones won't be able to delegate simple tasks and will solve them themselves. Skews in technologies also hinder the team. If one employee knows MySQL well and another knows PostgreSQL, this is a ground for conflict. Both employees will think that their tool is the most efficient.
How the competence matrix is useful
To summarise. The competence matrix will help you in a variety of circumstances, Using it, you will be able to:
- Monitor the level of knowledge in the team.
- Allocate resources efficiently and painlessly for the rest of the team.
- Motivate your employees and plan their development (make individual development plans, plan KPIs). 3.
- Reduce the risks of knowledge loss if it is concentrated in one person.
- Lay the foundation for developing grades or validate their objectivity and relevance.
Just one simple tool can remove a huge number of questions from the teamleader's mind. We recommend giving it a try.