It is not about the techies anymore
When the multiple disciplines in software development such as design, development and testing were working completely separated from each other the most important task of a manager was to get people that are exceptionally skilled in their specialism. As long as a person was skilled in his own area of work a lack of the so called soft skills (teamwork, communication, etc) could mostly be overcome. The project manager was responsible to provide the communication within a team and it was his or her role to make sure that information from one specialist was transferred to the other.
This resulted in a controlled environment for all people in the different disciplines. Developers only needed to communicate with other developers, designers only communicated with other designers and the management communicated the artifacts from one discipline to the other and to the customers.
Even though it was still no easy task, life of a recruiter must have been much easier back then.
The introduction of agile changed the entire playing ground. Technical skills are low on the priority list when recruiting for agile teams. Suddenly developers need to communicate to testers, documentation specialist and UX specialists and vice versa. And if that is not enough they actually need to communicate with the customer as well. Add to that the need for a team to be self organizing and multidisciplinary and we end up in a recruiters worst nightmare.
As a manager of several development teams I often need to make a decision about hiring a new team member for one of our SCRUM teams. For me the following criteria are most important in making the decision to add someone to an agile software development team, in order of importance:
- Mindset and team spirit;
Most important in an agile team is that the different people in the team actually form a team. In an agile team there is no room for ego’s or individualists, you need people that are willing to help others and do everything in their powers to complete the tasks that are assigned to the team. This sounds easy right? Well unfortunately this isn’t the case.For people it is in their nature to pick a task that they like over a task that they don’t.If a team member has the possibility to select a task from a task list that contains fun and challenging tasks, but also boring tasks and tasks outside of the team member’s comfort zone, the natural reaction for the team member is to select a task that is fun and / or challenging over any of the other tasks. To make someone suitable for agile development teams a mindset switch is needed. Agile teams can only become successful if each individual in the team puts the team goals first.
- Communicative skills;
Agile projects rely a lot on communication. There is no large amount of documents that are used to transfer knowledge from one team member to another. Most of the “documentation” in an agile project is not complete and has the main purpose to trigger the conversation. Besides the need for communicative skills to talk to fellow team members the people in an agile team also need to be able to communicate with the product owner, customer and possibly the end user in terminology that they understand.
- Contribution in discussions;
This is actually an extension to the communicative skills. Agile projects are all about discussion and this allows all team members to ask their questions and discuss suggestions directly with all other team members and the customer. Agile teams are relatively small and therefore you cannot afford to have team members that always stay in the background and don’t contribute in team discussions or discussions with customers.
- Cultural fit;
A team works better if all the people get along. Luckily people are usually professionals and even if they don’t get a long on a personal level, most of the time they will find a way to work together. But getting people into a team with matching personalities and maybe even some shared interests will make them to give 110% instead of the 100% that you may expect from them. So even though it makes recruitment difficult and sometimes close to impossible it really pays off in the end.
- Technical skills;
Last but not least a team member of an agile team needs to be skilled at what he or she does. The reason why this is listed as the very last item is not because it is unimportant but because you can have all the skills that are humanly possible to learn, but if you don’t excel in the previously mentioned so called “soft skills” it all goes to waste in an agile software development project.
So knowing this, is it all worth it? Trying to take all this into account when selecting people to achieve the ultimate synergy within a development team?
The hardest part of it is that you sometimes have to accept that you sometimes need to let people go that don’t fit into a team even though they are exceptionally skilled in their own area of work.
But there is a big reward! When you are able to get everything right in a team, the team will do remarkable things and this is exactly why it is possible that an agile team of 9 people can outperform a development team of more than 50 people that is working with a traditional approach.
Trackback from your site.