Toggle Menu

Insights > Agile Transformation > What Can a Tech Lead Add to an Agile Project?

What Can a Tech Lead Add to an Agile Project?

I was inspired to write a follow up to the recent Dear Agile question on the role of a tech lead. While I serve as a tech lead, I mention in that article that tech leads are often unnecessary and may hurt more than they help. While it’s true that tech leads can sometimes be an […]

By

January 30, 2018

I was inspired to write a follow up to the recent Dear Agile question on the role of a tech lead. While I serve as a tech lead, I mention in that article that tech leads are often unnecessary and may hurt more than they help.

While it’s true that tech leads can sometimes be an agile anti-pattern as discussed in the article, they can also be useful on a project. In fact, my current position as a tech lead with one of Excella’s clients compels me to add a few points as to when we might be useful.

To serve our teams and projects, there are some things that tech leads – myself included – should strive for in order to make the role work well within an agile context.

Enable Self-Organization

Tech leads should always be attempting to work themselves out of their role. Any decision the tech lead makes should be as transparent as possible – preferably, a tech lead should be surfacing the opinions of the development team rather than making the decisions. The more authority the tech lead is able to delegate to their teams, the more service they’ll be able to provide to the overall mission.

Provide a buffer zone

In chaotic environments or stressful times, there can be a strong desire to micromanage a team. A tech lead can use their “authority” to surface the answers that stakeholders need while insulating the team from unproductive contact with those stakeholders. If a team knows they are trusted to complete the work, and is given the autonomy and space to complete that work, great things can happen.

Adding Value With a Wider Lens

Whereas developers may be writing quality code with some given objectives or stories in mind to complete, a technical lead may craft – or lead others to craft – pieces of code with a larger impact across the entire project. This wider lens enables the tech lead to have a large impact on the codebase and improve the productivity across the entire team. This might seem nebulous, so let me offer a few examples:

Resolving technical roadblocks

A tech lead is someone experienced in the languages, patterns, and practices of the project. This means that they are able to quickly resolve problems when a team is stumped. This keeps the project moving forward and helps the team learn as needed. A tech lead also tends to be connected to the project’s leadership on all sides, so they can get answers to questions quickly that might be blocking the team.

Maintaining the skills marketplace

Development is a field where we’re always learning. A tech lead’s job is to ensure that the team’s knowledge doesn’t stagnate. This means continuously keeping an eye out for skill gaps or differences and setting up a culture where developers are helping each other learn via mentoring, presentations, discussions, etc.

Ensuring software craftspersonship

Shipping quality code is crucial to a successful software project. A technical lead ensures that they have an understanding of code quality and its trending direction. This may mean a systematic process such as code quality reports, or it may take the form of more manual efforts such as code reviews and presentations. And as teams continuously improve, a tech lead can guide those efforts, highlighting areas of technical focus for the team. The best way a technical lead accomplishes these things is by creating a culture of quality where developers naturally work together to achieve these outcomes.

Serving as an Agile coach (when necessary)

Unfortunately, not all projects have an Agile coach – or even ScrumMasters – available (I wish! Especially if it’s one of our experts.) A technical lead for an Agile project is generally someone who’s also seen a few agile projects before, and knows some of the pitfalls. When a client or team is veering in the wrong direction, a technical lead may be able to recognize these issues and help course-correct before the project finds itself off track. To be clear, it’s always preferable to have designated people in these roles, so that the technical leader can focus on the technical excellence of the project and team.

Empowering the team

Software teams tend to work best when they are trusted, supported, and challenged to self-organize and produce quality software. There is a large degree of complexity around this. A technical lead can ensure that teams have the appropriate breathing room to allow this to happen, setting the state for conversations and creating the expectation that these things will occur. From that sense of empowerment, great things can happen.

Fostering leadership and exceptional careers

Many developers have a high capacity for – and a high demand for – growth in their knowledge and careers. A technical lead supports this to ensure that developers understand they are treated as growing professionals and not merely resources. A technical lead looks for where people are excelling and does their best to turn those into positions of ownership or leadership so that the team member can thrive within the project and their career.

While a technical lead may sometimes seem an odd addition to an Agile project, I hope I’ve convinced you of some of the value. A tech lead is not a role, but a team member who leads by example and serves the team to help them better deliver for their customer. When executed to the appropriate degree – something we’re always striving for – we aim to make the advantage of a tech lead obvious.

You Might Also Like

Agile Transformation

Agile Requirements: Process and Scope

Getting Agile requirements right can be a challenge but it’s essential as they can make...

Agile Transformation

3 Keys to Agile Scaling: The View of Our Experts

Scaling, like Agile itself, can become a target objective rather than the means to an...

Agile Transformation

6 Signs Your Agile Scaling Isn’t Working

In our last post on Agile scaling, we described some signs that indicate you should...