Agile Zone is brought to you in partnership with:

Steve Smith is an Agile consultant and Continuous Delivery specialist at Always Agile Consulting Ltd. An XP / Lean developer with 10+ years of experience in enterprise software development in Britain and New Zealand, Steve favours practices such as Pair Programming and Test-Driven Development to build quality into software products. As an early adopter of Continuous Delivery he has overseen transformation programmes in multiple organisations to reduce lead times and increase product revenues. Steve is a co-author of the Continuous Delivery and DevOps book "Build Quality In", a co-organiser of the monthly London Continuous Delivery meetup group, a co-organiser of the annual PIPELINE conference, and a regular speaker at conferences such as Agile On The Beach and QCon New York. Steve blogs at Always Agile Consulting and is on Twitter at @AgileSteveSmith. Steve is a DZone MVB and is not an employee of DZone and has posted 29 posts at DZone. You can read more from them at their website. View Full User Profile

Technical Lead != Team Lead

  • submit to reddit
Technical leadership and team leadership should be recognized as distinct roles

During my career, I’ve worked with, for, and as a  Technical Lead, Technical Authority, Technical Architect, Team Lead, and a Agile Team Lead. With my developer hat firmly on, I would suggest the above comprise two distinct roles:

  • Technical Lead. Assumes main responsibility for the technical architecture vision, and steering technical work in that direction over time.

  • Team Lead. Assumes main responsibility for timely software delivery and the personal/professional development of team members.

In my experience, when medium- or large-sized software organizations combine the above roles it is normally a result of management laziness or a misunderstanding of team dynamics. Unless the Whole Team in question is a well-oiled, self-organizing machine or a Great Agile Developer is in the room, it is difficult for a single person to excel when such different, occasionally conflicting challenges await.

For example, at employer ABC the Technical Leads were in charge of the technical architecture as well as the nitty-gritty of story implementation. The technical roadmap was well-defined, but with no separate concept of a Team Lead role the Technical Leads were over-worked and over-stressed. Stories frequently failed to reach Done by the end of an iteration, and non-technical issues such as helping new team members were simply ignored. Both of these issues are directly related to team gumption and as a result team members were frequently gloomy.

However, at employer XYZ I was one of a number of Team Leads working underneath a Head Architect (pardon?) that looked after the organization-wide architecture. The XYZ Team Leads prevented the sort of issues experienced by ABC, but I and many other team members chafed at the lack of technical input available. It is a hard balance to get right.

I believe that regardless of nomenclature, the key responsibility shared by Technical Leads and Team Lead is coaching. Whether you are in charge of software, people, or both, you have an immutable responsibility to help the team members around improve themselves and each other.

Published at DZone with permission of Steve Smith, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Oded Nissan replied on Mon, 2013/03/18 - 7:24am


Yuanjing Liang replied on Mon, 2013/11/04 - 9:43am

Haha,i am looking for SEO technical for my website 

Frank Kelly replied on Mon, 2013/03/25 - 9:46am

I agree the Technical Lead and Team Lead are different hats you have to wear. It's not easy but I'd like to think I have been able to do so successfully for a number of years.  I've seen other folks do it too - but I agree it's a lot of work.

What ends up happening is I spend < 50% of my time coding, sometimes a whole sprint goes by without writing 50 lines of code, because we're focused on testing and a new deployment process. Or alternatively while the devs are knee deep in code I'll be scouting out ahead ironing our requirements and architecture as much as I can. Thankfully a sprint or two come along and I can jam some code out the door.

I agree that coaching is part of the job however I think as a Team Lead / Technical Lead your key responsibility is SHIPPING the product and get it into the hands of your users. That's what revs my engine :-)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.