BT

Technical Leadership: The Often Overlooked Skills and Responsibilities of a Technical Team Leader

| Posted by Amr Noaman Follow 1 Followers on Mar 11, 2015. Estimated reading time: 7 minutes |

 

Because they are a team, software teams are assigned a team leader. This post may have different names in every organization, but the main and common responsibility of this person in all organizations is product delivery.

What varies is the scope defined for the responsibility of product delivery. At one extreme, this person is just responsible for the technical effort of design and development. On the other extreme, it may include design and development as well as collaborating with customers, team operations, reporting to senior management, and strategic product management!

In this article, I will try to lay out the responsibilities of a Technical Team Leader. Knowing the responsibilities, we may determine the necessary characteristics of such a key person in software development.

First, I will point out several deficient views of a technical team leader, and why these views are incomplete and may not lead to team success. Then, I will categorize all the necessary responsibilities to be carried out by a technical team leader. Finally, I will discuss other functions in a typical software organization, and will explain why we shouldn’t overwhelm the team (and its leader) with such responsibilities.

Incomplete and deficient views of Technical Leadership

Teams assign TTL’s based on various considerations. For example:

Technical Team Leaders as architects, senior, or most experienced Developer

At 2003, I was appointed a senior position at IBM and became a technical team leader. This appointment was based on two things. First, I have spent 3 years in development. Second, I was an excellent developer! Are these enough criteria to become a technical team leader? The answer is no!

These type team leaders usually forget about the team and get immersed in development. They take over most of the critical stuff and may not be aware whether the team is fully functional or not!

Technical Team Leaders as Facilitators

Some teams assign product delivery responsibilities to pure facilitators. This facilitator is typically responsible for running and facilitating team group activities.

In some cases, scrum masters are inclined to play this role of “facilitating Scrum events as requested or needed”, as mentioned in the scrum guide, and nothing else. Although Scrum mentioned this among many other responsibilities, many practitioners who get certified as scrum masters focus only on team facilitation.

ICAgile certification for Team Facilitation (ICP-ATF) is known to be a track for those who are willing to lead teams. As per the ICAgile website, this track “focuses primarily on the mindset and role of an agile team facilitator”.

While facilitation skills are paramount to team success, there are some other skills which may be equally important. If a technical team leader got trapped in team facilitation, his role may become another manifestation of the traditional role of a management proxy for the team!

Technical Team Leaders as Innovation Engineers or Dreamers!

Yes, dreamers are leaders. However, nothing is achieved until this dream materializes into something tangible and somehow defined.

The problem with this kind of technical team leaders is that they may be trapped in endless technical investigations and innovation and forget about the product itself. It’s the idea of balancing divergence and convergence: Diverge to generate more innovative ideas, and then converge to get something done!

A Map of Technical Team Leader’s Core Responsibilities

The fact is: a TTL balances several key responsibilities, outlined in the following mind map:

(Click on the image to enlarge it)

Team Support

First and most important: Team Support. A TTL can motivate the team, has the ability and art of facilitating team activities, and can organize team work into a process oriented manner. 

Technical Excellence

Second, a TTL is responsible for nurturing/enforcing and monitoring the product technical excellence and high quality. More specifically, a TTL is responsible for ensuring this is realized by the whole team. In other words, if the TTL developed an excellent product by himself while the team is doing nothing, then he is still failing in this regard. 

Innovation

Third, a TTL should sponsor innovation in the team work. This is different from technical excellence. It is related to the team spirit and desire to experiment and try new things and unconventional solutions. This is also different for problem solving, because you can solve a problem in a dumb way!

Organization

In all of these responsibilities, there is a common component of organization. The TTL is responsible for organizing accumulated knowledge and information gained by the team, and making it available and easy to retrieve whenever needed by any team member. Also, organizing the team process, which is a responsibility that may take a lot of time and effort to monitor and foster.

Delegation of Responsibilities

Practically, team leaders cannot do all these tasks on their own. The following graph shows how much delegation he/she may do:

For example, in case of team motivation as part of the Team Support responsibilities, the TTL may not be able or entitled to handle aspects of motivation or demotivation in the organization. In such cases, it is still his responsibility to escalate such issues to management and keep nagging till issues are resolved and a healthy environment is maintained.

In case of Technical excellence, it is a big responsibility and the team leader usually delegates technical responsibilities to other seniors in the team. However, it is still the responsibility of the TTL to make sure the product is of high quality. To do that, the TTL may review code, inspect designs, consult experts, automate inspection, use tools, etc.

For Innovation, the TTL is not responsible for innovation. Rather, he/she is responsible for sponsoring innovation. TTL should allocate time, facilitate sessions, sponsor experiments, assign spikes, etc. He should do that in order to discover:

  1. Innovative solutions for issues and problems
  2. Innovative ideas for features and products
  3. Innovative ideas for the team to become more effective and efficient

While Organization is the responsibility of the TTL, guidelines and procedures for organization are implemented by all the team. For example, the team must have a means to document accumulated technical solutions for problems the team face (a wiki, for example). This solution should be easy to use, available for all team members, and knowledge should be easy to search and retrieve anytime by any team member. Fining such a solution is the responsibility of the TTL, and documenting knowledge and sharing it should be a responsibility of all the team.

One final important note: TTL delegates tasks not responsibilities. That is, a TTL may delegate finding a way to document knowledge, but it is still his responsibility and he is still accountable for it. Another example is that making sure a product is technically excellent is the responsibility of the TTL, even if he delegates some review and verification tasks to team members. At the end of the day, it is his responsibility and he is accountable for it.

Anything Else?

Of course there are many other roles and responsibilities in software development organizations, like operations management (HR, Support, Sales, etc.) and senior management activities (Program/portfolio management).

To determine whether or not these activities should be carried out by the team, we have to clearly differentiate between knowledge work (work which needs technical expertise and cognitive skills), and task work (work which is procedural, algorithmic, and needs systematic management experience). This differentiation is necessary because the mode of operation of knowledge work is completely different than that of task work.

The graph below points out the product development activity as opposed to some other activities in a typical software company:

As appears in the graph, product development involves a lot of knowledge work. This should be the primary responsibility and concern of development teams. Overwhelming the team (and his technical leader) with other operational tasks of sales, customer collaboration, and HR may distract the team from focusing on his primary role of product delivery.

Conclusion

In Summary, a Technical Team Leader should demonstrate capability in three main areas:

  • Team Support
  • Technical Excellence
  • Innovation

If you are going to become a TTL, make sure you get enough knowledge in these three areas. It is your responsibility to become knowledgeable, or else you will spend years or fumbling in the darkness and learn by trial and error!

About the Author

Amr Noaman Abdel-Hamid is an agile coach, trainer and practitioner who's passionate about spreading agile and lean thinking in Egypt and the Middle East. Amr co-founded Agile Academy and is a founding member of the Egypt Lean & Agile Network. Amr had the honor to initiate Egypt's GoAgile program, an agile adoption initiative sponsored by the Egyptian government for expanding agile in Egypt. Since then, Amr has trained 700+ practitioners, coached many teams and organizations. Amr is a frequent speaker and author of several industrial reports and shares his thoughts in his blog: Tales of Agile Software Development. You can reach Amr through email, Linked-in, or twitter @amrnoaman.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Good observations by Rafal Barszczewski

I fully agree, too many software departments are still seeing team leaders as more advanced developers.

Missing the technical part of being a technical team lead by Koen Roevens

If you as a 'technical' team lead only spend 20% of your own time on technical tasks (rough estimate based upon your 'delegation of responsibilites' figure) you will be the lead of a 'technical' team within two or three years. Technology is changing at a rapid pace.
Showcasing 'Technical Excellence' like is mentioned in the conclusion of the article will become harder and harder and it is likely that you will be replaced as a technical team lead within 5 years. If this matches your career planning, then the article contains good advice. But if you still want to be a technical expert on the long term I would follow a different strategy.

My 2c

Re: Missing the technical part of being a technical team lead by Amr Noaman

Koen, I fully agree, if someone wants to become a technical expert, then being a technical team leader may not be the correct way to go. In the model I described above, technical experts are team members with more seniority when it come to technical stuff. But, this has nothing to do with team facilitation, motivation, and sponsoring innovation, which is the core responsibilities of a TTL.

Actually, this is one of the problems that I noticed (and described above), which is people tend to assign technical leadership positions to the most "experienced" person, and this cuts a good portion of his time and shifts his attention to lead the team instead of digging deeper into technical stuff.

You touched a very valid point by Medhat Sabry

Selecting a "leader" on technical competence alone is certainly a pitfall experienced especially in SMB's and startups, where no mature process is yet there for such a crucial undertaking. I've touched the point on ahat I produce as VTips (video tips) for my initiative, you can see that at youtu.be/fz9WpOyf2-g
As I've stated there, and because your base of selection remains always from you people, I'm an advocate of a principle of "self-leading" experience that junior teamers have to be subjected to to enhance not only their technical competence but also their professional values, I call that PDP (for Professional Developer Program). This hits two goals: for one thing facilitates the safe selection of leaders from among the team, for a second makes leadership easier, because leading mature professionals is certainly easier than leading less developed characters, no matter the skill.
I also agree with the opinion that Technical leading should be seen a somewhat narrower in scope than total leadership, which is the next step up for the TTL, i she/he qualifies.
Thanks for the valuable work.

Technical Leadership Skills by Nick Hester

In every software firm we have found teams working in different shifts and leading by team leaders. They are technically sound to handle every minor and major problems which makes them unique and innovative from others. Here in this article we have found some suitable tips on how to boost our leadership skills while handling a team in a big firm.
www.reginafasold.com/leadership-training-coachi...

Missing some modern technical lead attributes? by Rory MacDonald

I like the article, though i'm not sure it takes into account a load of the modern responsibilities required by Technical Leads, i've written about this here: www.madetech.com/blog/what-makes-a-great-tech-lead

very good article by mao xiaodong

But I think the So-Called Technical team leadship Must all the time ensure his knowledge's health, that meant he still need learn and master many new knowledge with some degree's deepth. Otherwise, he is not qualified and can not provide the confidence to his team

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

7 Discuss
BT