Attitude versus Knowledge in Software Development

In her article for the Summer 2016 issue of Methods & Tools, “Hiring for Agility,” Nadia Smith suggested considering an interesting difference between the need to recruit for “Agile”, defined as the knowledge and experience of Agile practices, and to recruit for “agility”, defined as attitude, values and behavior. Without focusing on Agile, this approach can be generalized to all software development hiring processes.

Most organizations recruit for knowledge and experience, they want “a developer with 5+ years of Java” for instance, and they will scan the received resume based on these criteria. While this might be a valid approach for companies mainly interested in (or hoping for) short-term productivity gains, this is not always the best solution if you are looking for long-term results or if you are in a market where there is more demand for talent than supply. This approach also negates the fact that the main criteria for a project success (or failure) is people and how they interact with each other. Thus the attitude, values and behavior attributes mentioned by Nadia Smith in her article should be as important as knowing if the candidate has two or five years of experience with Java.

Agile or not, successful software development teams need people who are able to work together and adapt/improve the way they work when the context changes. This requires a set of common capabilities like a problem solving approach, openness, listening, conflict resolution, accepting mistakes without blaming, willingness to learn new things, etc. This doesn’t mean that everybody should have the same soft skills or approach. Different roles require different personalities and you might expect that a project manager or ScrumMaster would be generally more extroverted than a developer or a DBA. In fact, if you hire people with the same personality, you might loose the precious outcome that results from confronting different visions of the same situation. But if your team members (and customers…) lack the proper mindset and behavior for working and getting results together, there are chances that your project will fail, whatever approach you use to manage it and hard skills the team member have.

Further references

* Immersive Interviewing – Building Great Agile Software Teams

* Choosing Candidates for Large Company Agile Initiative

* T-shaped Skills and Swarming Make for Flexible Scrum and Agile Teams

* Choosing and Managing the Ideal Test Team