Do agile teams need a technical lead, where the technical lead is someone who has technical knowledge about project skills that the team is working on?
The typical answer would be to ask the team. Many of the methods built around agility favor self-organizing teams, where the teams would assess the knowledge and skills that they have and determine if they are missing something important or relevant for the team to be able to do their work.
As far as methodologies that go that have a similar role, both DSDM and Disciplined Agile do.
DSDM has a role for Team Leader. Some of the responsibilities do imply technical knowledge and skills. The description of the role does say that the person who holds this role may perform a different role on the team, including a Solution Developer or Solution Tester role.
DA has a role called Team Lead which includes facilitation of both technical activities as well as coaching and impediment removal. This is a full-time role on the team.
This isn't an exhaustive list, but does cite two process frameworks that I'm familiar with that call for a person with a leadership role and technical skills to be a part of an agile team.
I will answer your question with reference to Scrum.
In Scrum there are just three roles: Scrum Master, Product Owner and Development Team member.
There is no stated leader, which is done deliberately as leadership is seen to be distributed across the whole Scrum team. For example, when working on a particularly database-heavy project one of the team members with a lot of database development experience might step up and take leadership. On another project that is front-end heavy a different team member may show leadership. When working with an external supplier a team member that has had some project management experience may show leadership.
The idea is that everyone is seen to have the capability to step up and show leadership. In this way we maximise the potential of the team.
Agile practices do have Team Leader or Technical Lead. But it's not necessary to actively recruit a new high profile technical lead, because among the agile team members who have vast experience on project topics might be someone to come in front and take the lead for specific project modules. In my view, an agile team should have a Requirement Analyst Lead to work more effectively and less objection handling.
- Agile -
In the Agile methodology, the role of technical lead is viable. But it’s important to understand if your team really needs this technical lead. If the team is young, probably they need a leader who can coordinate the work process, while also offering some insight.
- Scrum -
In Scrum, there are only three roles: product owner, scrum master, and development team. There is no such role as technical lead, because the Scrum methodology involves regularly and timely team collaboration. Scrum master does a part of technical lead’s duty but not the management duty. Scrum team should work without guidance from outside. Therefore you needn’t search for a person who has technical knowledge and understanding of the project that the team is working on.
No they don't. A scrum master and an agile coach are both leaders but don't necessarily need technical skills to be effective.
I think it's useful for the members of the team to have varying levels of technical ability, some senior developers and some more junior ones but in my experience there doesn't need to have a designated leader if the team is a quite a mature agile team.
You could perhaps have someone like a scrum master or an agile coach or a tech lead when they are forming, but these people can fall away when the team starts storming.