From Staffing by Role to Staffing by Skills

Organizations often start their Agile journeys by forming one or more teams. One of the “rules” of Agile is that a team needs to be cross-functional (able to perform all the work, from analysis to production, on their own). As many pre-Agile organizations consist mainly of specialists with very narrow, but deep, sets of skills, it’s natural to pick team members by job title — one architect, two developers, one tester, etc. instead of staffing by skills.

Taking a staffing-by-role approach is necessary, when people are highly specialized, to cover all competency angles, but often leads to scarcity issues with certain job functions. “We don´t have enough architects to assign one full-time to each team” or “What are they going to do if there aren’t enough architectural tasks?” are examples of classic objections.

A common pitfall is to solve these scarcity issues by sharing specialists on multiple teams or placing them outside the Agile teams in a supporting function. One challenge with this approach is, that it severely limits a team’s responsiveness, as they would need to coordinate with other teams. Another often overlooked challenge is that it slows down cross-training, which ironically is what is needed to solve the scarcity problem.

Going back to the example of the architect… by having a full-time architect on a team, she will be more likely to rub off architectural skills on the rest of the team and vice versa by picking up new skills herself. Over time, this will transform the team into a team of poly-skilled people rather than a group of specialists, making them more effective and robust as they gain adjacent skills.

As leaders in charge of forming new Agile teams, you should, therefore, consider assigning full-time by role in the beginning and encourage the team to invest time in cross-training. Over time, as people gain new skills, you should then focus less on job titles and roles and start focusing on people skills. When a developer is no longer just a developer, but a person with great development skills, good architectural skills, and fair testing and analytical skills, it will be a lot easier to form cross-functional teams and the overall responsiveness of the organization will improve, as will the joy of work for the individual — but that’s a topic for another post…

As always, I would love to hear your thoughts using the comments below.