4

There is, funnily enough, not much information on this type of role on the Internet. Perhaps that in itself says something. I do however find myself in this role for a small development team of around 8 C# developers working on different streams. I want to be able to perform a good job; however, I have no terms of reference and therefore I want to start off on Monday with terms of reference to discuss with my boss who is the App Development Manager.

My view on the role is as follows:

  1. To ensure necessary standards are implemented. We largely do agile projects and the team is following an XP approach to their coding.
  2. To produce a Development Standards Guide
  3. To ensure the team meets once a week at a set time to discuss technical things. I need to figure the nature of this meeting out.
  4. Attend the stand-ups for other streams of work.
  5. Coding, I will tend to be assigned to a project within a stream.
  6. Spend Fridays pair-programming with someone from another stream.
  7. Assist my manager in reading design documents and deciding on development approaches.

If anyone can help me clarify the scope of the role, it would be greatly appreciated.

  • 1
    Did you ask your boss what your responsibilities are...? The term is highly subjective to the context in which it is being used. There is no one correct answer to your question. – Andrew Clear Aug 16 '13 at 18:13
  • Duplicate of a programmers question: programmers.stackexchange.com/questions/189283/… – Dave Hillier Aug 19 '13 at 12:18
  • Is Technical Lead equivalent to an Architect when the architect is hands-on? – Dave Hillier Aug 19 '13 at 12:20
3

TL;DR

Within the Scrum framework, you are a member of the Scrum Team (which includes the Scrum Master and the Product Owner), and also a member of the Development Team that forms a third of the Scrum triumvirate. You have no other title within the framework, and the distinctions you are making are invalid within the team-oriented structure of Scrum. Extreme Programming also uses a team-based approach, although it is actually a set of practices rather than a complete project management framework like Scrum.

You are likely to get a different answer on Workplace SE or Programmers. Here on PMSE, though, you'll get the project management perspective. From the agile PM perspective, your role should not have the boundaries you are attempting to layer on it.

Your Team Isn't a Scrum Team

Your team is probably not a Scrum team. Such a team would be self-organizing, and would have a Scrum Master and a Product Owner. While Scrum Teams exist within larger organizations, and may have people on the team who report to line managers like an "App Development Manager," neither the project nor the team would be run by someone in that role.

Additionally, Scrum and XP teams are cross-functional. Ideally, that means that everyone shares responsibility for all aspects of the product. While Scrum and XP teams can and do divvy up work within an iteration, the team as a whole collectively owns all the work and is often required to swarm over particular stories as a group. The fact that you have eight developers responsible for different things, as well as a manager and a team lead, means that:

  1. The team is likely to be assigned work rather than self-organizing to get work done.
  2. Team members aren't working on things cohesively because work is partitioned.
  3. Team members are being held individually accountable for deliverables, rather than being responsible for them as a team.

The fact that you have a separate "team lead" role also means that you have an internal hierarchy which is antithetical to the concept of a cross-functional, self-organizing team. Whatever else your team is or isn't, it isn't Scrum and it probably isn't agile.

Clarifying Your Role

Since your team isn't following a standard agile framework, you will probably want to clarify the scope of your role and your individual responsibilities with the person you are actually reporting to. In a command-and-control framework, that will be your project manager or line manager—and in some cases, both—rather than making assumptions or asking your teammates.

3

An interesting question that a lot of people raise when faced with Scrum rigid guidelines on team roles.

Firstly I believe you should should be aware of the distinction between what a team lead and a tech lead might do. See http://www.stephen-smith.co.uk/technical-lead-is-not-team-lead/.

Scrum teams still need leadership like any other. The Scrum master should furfill the traditional team lead resposibiltiies. In an ideal world the technical leadership would be emergent. You will always have developers of varying ability, experience and with different character traits.

Do not beat yourself up if your organisation likes to define this role up front with a job title. This is common place in the industry and no amount of Scrum preaching is going to change that. The important thing is to furfill the role well. Do not make all the decisions, help mentor others, encourage acts of leadship within your team, let others come to meeting or send them in your place, do not solve everyone's problems for them.

If you would like to know more there is a good book on LeanPub. Notes to a Software Team Leader. But be aware this is not a Scrum book, although it is full of great advice. https://leanpub.com/teamleader

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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