For new practitioners of Scrum and other agile methodologies, it is tempting to think of the scrum team as operating in some kind of Nirvana where the team works in isolation constantly producing value.
This is never the case. As far as businesses go, the scrum team is still part of the business and needs to be in alignment with the greater goals of the organisation.
To this end, most teams have some kind of project management and technical lead roles.
Understanding the difference between this roles even if you don’t have individuals exclusively assigned to them is critical for smooth relations and alignment of project goals and organisational goals.
What does a Project Manager do?
The PM acts as the interface between the team and the outside world. She has responsibilities to all stakeholders to ensure their interests are served.
To the leadership, she acts as an advocate of the team ensuring that the team’s interests are adequately represented.
While XP, an agile methodology insists that a member of the customer’s team must always be available to act as the Product Owner, this is not always possible in practice. In such cases, the PM helps explore the product owner’s conditions of satisfaction. These include the usual items—scope, schedule, budget, and quality.
In the course of the project, the PM will be expected to provide the development team with all the resources they need to get their work done. This includes physical items such as laptops whiteboards etc and enabling environment such as protecting the team from requests in the middle of the sprint. She will also be expected to provide progress reports during the sprint to the stakeholders as required.
The PM need not be technically savvy but she must have strong collaborative skills.
In a scrum team, the scrum master can take on this role.
What does a Technical Lead to?
The TL is in charge of the technical output of a single team. He is in charge of operational excellence. That is, he ensures the team produces high-quality products with high rates of productivity while meeting target costs and dates.
Typically he is a senior engineer who has the respect of the rest of the team members.
He will actively write code along with the rest of the team while simultaneously reviewing their code to ensure quality and provide pointers as to how the developers can grow. The TL will be the one tasked with leading code reviews.
Where the whole team can not attend, the TL will represent them on estimation meetings. He will be best suited to appropriately break down the client’s requirements into epics and give a rough estimate. It is, however, important that the final commitment comes from the entire development team.
The TL will typically be in charge of the architecture of the application being built. This means that in addition to leading design meetings, he should be able to provide feedback on the ramifications of individual developers commits on the rest of the system.
In teams where the roles are clear, development goes smoothly and the individuals in charge of the roles complement each other avoiding responsibility overlaps and vacuums.
Do you have a clear separation of the roles and duties of PMs and TLs in your own organisation? Talk to me in the comment section below or on my twitter @jchex