I have often come across this question, especially from folks in organizations that have started adopting agile and have made some progress.
- Should each Scrum team member develop/possess all the skills required for the project?
- When hiring new team members should we focus on getting people who possess such skills?
Scrum team members are a mix of Business Analyst, Developers and Testers, often with specialization within. The Developers in this context are the people who write code and unit test it, in Scrum parlance all the team members are referred to as Developers, so calling it out.
My approach to resolving this query is a combination of looking at Agile Values and Principles and applying Stakeholder Management aspects from traditional project management.
The Scrum team is a cross-functional entity that works towards achieving sprint and release goals as a team. At a sprint level, the team makes a forecast of what it will achieve in a sprint and works towards it. The team does plan on how they will go about to get the stories, that are part of the sprint backlog, “Done”. They may come across instances where they may not have sufficient skills set of a particular type within a sprint.
One situation could be, that there is not enough testing skill set to match the testing needs within the sprint. The team has to to be able to tide over this. It is obvious that the Business Analyst and Developers need to pitch in to make this happen, as a self-organizing team they do work it out and make it happen.
Looking at Agile Principles, the team is focusing on delivering working software, delivering it early and delivering it frequently.
Looking at PO and Customer as stakeholders, their expectation is that the team meet the sprint forecast. They would expect that the team to do what it takes to accomplish it and do it in the best possible way. Fair enough expectation and the team is making the forecast based on their ability and confidence, that in turn is the outcome of their planning.
Scrum relies on motivated team members and providing them the right environment for getting the job done.
It is necessary that there are team members with good depth in specific domains, so that they are able to deliver the best working solutions. This is the “I” shaped skill. Looking at the team member as a stakeholder, one would be wanting to specialize in one’s area of interest/passion, this will be their source of motivation.
At times when there is a lack of a specific skill, it is necessary that other team members cross boundaries and help with it. The team member’s motivation is dependent not only one’s elegant solution, but also on that getting “Done”. This will not be possible with just the “I” shaped skill in all instances. Adding the ability to work outside of the core area, over and above the core area results in the “T” shaped skills. This is the ideal skill profile to have.
The team member’s degree of depth and ability/desire on building up on other skills will vary from member to member, but as a team they should be able to deliver what they forecast.
To summarize:
- The team member’s need to have in-depth skills (to deliver best solutions) and the ability to work outside of their core area (to get it “Done”) – “T” shaped skills.
- If hiring a new team members, over and above their skills in a domain, their openness/ability to step outside of the core area when needed, should be considered.
One should look at the stakeholders, in this case the PO/Customers and the Scrum team and what would work for both of them, while adhering to the Agile Values and Principles.