Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
  • In a project following agile programming model what is the main job of a team leader?
  • What are the job differences between team leader and project manager?
share|improve this question

closed as too broad by GlenH7, Giorgio, MichaelT, gnat, ozz Oct 15 '13 at 11:19

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 12 down vote accepted

In a project following agile programming model what is the main job of a team leader?

With the position that agile teams are "self managing", I would say that the main job of the team lead is to moderate the agile process for both the team and the customer. I'd say that in just about any process, the lead is a bridge between disparate groups, the person most responsible for keeping the big picture in order, and the person filling in the cracks between team members. In an agile methodology, where the whole team is working out priorities and figuring out how best to get the job done, and collaborating closely with the customer/users - I see the team lead as being the speaker for the team to the rest of the company and to the various entities that aren't major stakeholders.

What are the job differences between team leader and project manager?

Generally, I see the team leader as being people focused and the project manager being project focused. In practice this means the team lead is getting the technical team on track to do the job, while the project manager is worrying about the bigger case of finance, long term strategy, corporate resources, product positioning, legal, etc. I'd believe that in a small enough company, the two jobs could be filled by the same person, but in a big project or company, there will be many more team leads than project managers. Also, in general, the team lead ought to have both technical skills and soft skills, the project manager needs business skills and soft skills. If the project manager has applicable technical skills, then it's a bonus.

share|improve this answer

Management is climbing the ladder, Leadership is deciding which wall the ladder should be leaning against.

"Management is doing things right; leadership is doing the right thing". Peter Drucker

share|improve this answer
+1 for good point and Peter Drucker. – Amir Rezaei Jan 18 '11 at 9:39

This is from my experience in large enterprises. A project manager is much larger role. In a medium to large enterprise project there may be a software application development stream (with even subtreams like web frontend, core systems backend etc), infrastructure changes (desktops, servers and networks), business process changes, staff training etc. It is impossible for a project manager to manage each stream of work in details. This is where a team lead kicks in. He will help the PM in sizing, estimation, work break down and resourcing. He should be responsible for tracking project progress and report to the PM regularly identifying risks and issues early. He should coordinate with other teams and steams in a project. He should be also taking technical design decisions and create solution design for the project. If necessary do design review with other projects and architects to fit in overall solution or enterprise architecture as necessary. This is for both software and other technical and business streams.

The PM is responsible for overall project delivery, schedules, budgeting, reporting to steering committee. Sometimes there is a business PM who is overall lead of the business change and an IT PM focusing on the IT changes only.

share|improve this answer
+1 Very good comparison between two roles. – Amir Rezaei Jan 18 '11 at 9:37
Good answer... now if I'm not mistaken, this makes me the team leader in my team, although I have no official title – IvoC May 25 '11 at 17:17

There are a couple of different types of team leader, IMO:

Technical lead:

  • This is where the lead is kind of like an architect and is somewhat viewed as a bit higher than the other developers on the project. Part of this role is about being consistent in the code, knowing how to organize some of the code, etc. This is the view within a development team as I'd imagine there could be technical leads within other teams that could be quite different, e.g. a testing technical lead may be expected to know the tools well and understand what methodology is being applied that isn't necessarily the same as a development technical lead.

Administrative lead:

  • Here it is more that the lead understands how those under the lead are allocated,i.e. who is working what % on various projects. This doesn't imply any technical proficiency is something else to note here. This view is quite orthogonal to the project managers as this perspective is seeing how loaded down is each team member.

The project manager is someone that is usually that single point of contact to keep an eye on the project as a whole. This is the person to report to the steering committee, handle change requests, and other administrative things related to the project. A team lead, at least in terms of a technical lead, may not be that involved in communicating to the other teams in contrast to the project manager that will likely want to know where is each team which can include those outside of development.

share|improve this answer
+1 For distinguishing Technical lead and Administrative lead – Amir Rezaei Jan 18 '11 at 20:55

In agile way development goes in iterations, I can think few responsibilities of a Team Lead as :

  1. He/She must know how to handle outcomes of previous phases and should take decisions accordingly.
  2. He/She must take care of Technical details and resources, dependency(of developers) should be avoided.
  3. Should be able to communicate & co-ordinate with other teams (Database teams, Testing teams), Remember if any of the team fails the iteration fails.
  4. Main Job : Handling resources/developers is the main task, in a team you will be having people with different attitudes Seniors, Juniors. A team lead must be able to figure out what Role should an Individual play in particular Iteration.
share|improve this answer

In an agile environment, there is no "team leader", per se. Teams should be self-organizing. In Scrum, there is the concept for a "ScrumMaster", but that is very different from a "team leader" or "project manager".

share|improve this answer
Indeed, however I haven't encounter any companies with a team of 10 persons having no team leader. – Amir Rezaei Jan 18 '11 at 20:38
Keep looking -- they are out there. I've not seen any company doing "agile" with anything called a "team leader". They seem like completely opposite concepts. Your mileage and/or location may vary! – Marcie Jan 18 '11 at 20:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.