Agile Roles: Tech Lead
(This is a script for a video that will be produced soon.)
The Tech Lead isn’t a formally-defined role in Scrum. That said, it often emerges on a Scrum team whenever the Development Team doesn’t have particularly homogenous skill levels.
First, the Tech Lead is still a developer. They’re a member of the Development Team, which is part of the broader Scrum Team. As with any other developer, they participate in events and individually contribute to the sprint goal with hands-on development.
A Tech Lead also behaves a bit like a Product Owner. A Product Owner leverages their expertise and feedback from customers and stakeholders to determine what features should be built and why. Although the Tech Lead may or may not actually write user stories, they should work with the Product Owner to help ensure that the feasibility of the product owner’s ideas. They will also advocate for appropriately prioritizing the resolution of bugs and other technical debt, as well as the architectural runway, automation, and infrastructure that allows the team to rapidly develop new features.
Some approaches to Agile—such as Dual-track Agile—have the Tech Lead join the Product Owner and user experience researcher in a new product discovery cycle that is separate from the usual delivery cycle. Developing new products is all about looking for solutions to meaningful problems that are valuable, usable, and feasible. While we expect the Product Owner to have a reasonable handle on all three criteria, they will often focus on value, rely on the user experience researcher to focus on usability, and rely on the Tech Lead to focus on feasibility.
Even within the usual delivery cycle, a Tech Lead will often be the Product Owner’s “right-hand feasibility expert,” just as the user experience researcher is the usability expert. By accepting interrupts on behalf of the team, they can help the development team themselves stay focused on the tasks at hand.
One of the Agile principles is “The best architectures, requirements, and designs emerge from self-organizing teams.” This means that we shouldn’t expect a Tech Lead to single-handedly develop or even necessarily approve these artifacts. However, they can be instrumental in facilitating their development and mentoring developers so that they have greater capacity to contribute.
The Tech Lead is also a little bit like a Scrum Master, but mastery of each requires different skills. After all, most engineers work with things, while Scrum Masters work with people and teams. It’s primarily the Scrum Master’s responsibility to balance the product manager’s need for speed against the development team’s desire to write high-quality, optimized, reusable-code. However, a tech lead’s engineering prowess combined with a practicality learned from years of shipping valuable software can dramatically improve the quality of this balance. They do this by helping the Product Owner understand what is necessary for sustainable development, while helping the developers understand that developing a high-warranty product with limited utility won’t work long-term either.
Like an Engineering Manager, a Tech Lead can also support the development team by teaching, mentoring, coaching, and facilitating. As Engineering Managers usually support multiple teams and Tech Leads usually support a single team, Tech Leads often have more information about the individual team’s code and social health. If a Tech Lead comes from a position of informal support rather than formal authority, they can help the team develop its own high-performance autonomy and maturity rather than rely on team-external escalations.