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

From helping teams understand the boundaries of self organization to creating safety around things l [...]


Your team is probably spending too much time in sprint planning meetings. Here’s how to spend less t [...]


Debating between Scrum and Kanban? Guest author Brendan Wovchko offers five advantages Kanban has ov [...]


Most individuals know that multitasking slows us down. It has an equally negative effect on agile or [...]


Announcing the world’s only dating website for Scrum Masters and product owners. [...]

- Scott Hanselman

I think that we, as an industry, are still figuring game streaming out. It's challenging to fin [...]

- Scott Hanselman

If you find yourself learning C# and .NET and come upon the "Run your first C# Program" do [...]

- Scott Hanselman

I was at the Microsoft BUILD conference last week and spent some time with a young university studen [...]

- Scott Hanselman

I've blogged before about the Azure Cloud Shell. It's super cool and you can get your own [...]

- Scott Hanselman

"My fellow Windows users, our long national nightmare is over." The Windows Terminal is he [...]