Do Agile Software Projects need a Team Leader?

Home » Agile Techniques » Do Agile Software Projects need a Team Leader?
Photograph of columns in old building

I have only worked on a few projects that have been formally Agile based on Scrum/Kanban, although have been working like this informally since about 1996.

I have worked on many projects as a team leader or as the sole developer or designer.

I am very interested to try to tie my own views on team leaders and documentation to the XP/Agile world. I wonder if Agile only really works when you are dealing with certain teams of experienced programmers. I think there is still a place for team leads and also that no documentation, design or planning because we are “Agile” is most definitely a bad thing. I also think that TDD should be used with intelligence, because to put under test every single line of code no matter what – because NCrunch says so, is massively increasing the amount of work the team has to do and the complexity of the software for diminishing benefit.

Team Leader

The purpose of a team leader in the fast moving software industry is to increase the knowledge and capabilities of his/her team even if the team contains contractors (I’ve worked at some places that specifically exclude contractors from functional discussions that they really need to know about). That way team members are the most effective possible and can do the best work in the shortest time.

As a team leader, there are three modes of operation you can be in depending on the experience of the team and the time available to do the work:

  1. Survival Mode. This is where there is insufficient time to do anything properly, all the time available is taken by the team fighting fires.
  2. Learning Mode. There is sufficient time available to plan things and for work to be done properly, because members have the time to do it properly.
  3. Self Organisation Mode. All team members are sufficiently capable and interchangeable with each other to be able to manage themselves. This is kind of where I think Agile projects need to be, but technology changes, pressures come from the business, people leave and join the team. Its not always possible in my view.

In my experience, not all team members are sufficiently experienced, or know enough about architecture to be able to self manage all the time. If TDD is being used, they will probably spend more time on 100% coverage (trying to TDD EF for example) rather than concentrating on the core functionality of the app they are trying to build.

A team leader is needed to help make decisions, allocate work to different team members, help develop team members, and finally get out of the way when the team capability and circumstances allow. They can also help ensure that procedures are correctly followed in detail, for example related documentation maintained and correct architecture for the project is used consistently.

Documentation and Planning

The basic fundamentals of the project need documentation. The team concentrates more on functionality than planning but time is spent measuring the velocity and time taken on different tasks so more intelligent decisions about this direction can be made in the future. Also writing this down allows the team to look back over history and compare what they know now with what appeared to be a good idea then. Sometimes this can be helpful, however its important that any documentation that the team does produce, is kept up to date.

What the team leader must do is help shield the team from management and too much time pressure, help ensure Agile practices are used, but not try to plan every last detail, functional or time wise (saying you are Agile because you don’t do any design or planning and don’t have team leaders isn’t Agile, its a guaranteed way of projects to fail, or at least take a very very long time to complete). Perhaps in these days its just the name – the team leader is possibly a senior developer or designer / architect, but as I have outlined in this post, I believe the requirements are subtly different.

What do you Think?

I would be very interested in hearing the readers views, although I’m not sure just who is reading this blog as yet. My brothers dog Boo, is about the only one I think. I’ll ask him later…

Meanwhile, I will keep this blog updated with my experiences, because I expect I will be working on quite a few more Agile projects over the coming years.

About Phil

I have been working as a software developer since 1983. This blog could have been called "From Fortran 77, C and Cobol to C# in 20 (not so) easy years", but it doesn't sound quite right somehow. Besides I'm talking about what's happened since 2003, not before!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Top Posts & Pages


Recent Posts

Recent Comments



  • Mike Cohn's Blog
  • Scott Hanselman's Blog

We avoid having unfinished work, but it sometimes happens. Here’s what to do.


Do your developers think your retrospectives have become boring? The solution might be as simple as


If you’re thinking of a career as a Scrum Master, these 7 questions will help you decide.


Register for Estimating With Story Points before the deadline and get 4 FREE bonuses

- Scott Hanselman

Go get .NET 5 for Windows, Mac, or Linux, over at Then install Jon Seq

- Scott Hanselman

There's something happening in the E Ink space, somewhat quietly, but consistently. It's g

- Scott Hanselman

We had a great time at the BUILD 2021 conference this year. My team and I worked really hard to put

- Scott Hanselman

How about that insane blog title? You can do lots of cool things with WSLg, which allows you to seam

- Scott Hanselman

Are you trying to learn to code? Or perhaps you're an educator or a student, or you know someon