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

Our virtual Certified Scrum courses aren’t tedious 16-hour Zoom snoozefests. This video shows what t [...]


Time pressure improves productivity & quality…up to a point. Learn how short iterations and accu [...]


Boring retrospectives or ones in which people are afraid to speak the truth are just two of the most [...]


If you really want to speed up your team, sign up now for Scrum Prime and have everything delivered [...]

- Scott Hanselman

During the Microsoft Build keynote last week - that you can watch free online here - we snuck in a L [...]

- Scott Hanselman

I've been spending a lot of time with Docker lately. Docker Desktop on Windows is great and get [...]

- Scott Hanselman

I was offered a Surface Book 3 to use as a loaner over the the last 5 weeks. I did a short video tea [...]

- Scott Hanselman

Last year Microsoft rebooted PowerToys and it's open source and on GitHub. It's a few mont [...]

- Scott Hanselman

Microsoft Build 2020 is upon us, registration is open NOW. Stop reading this blog post and go regist [...]