Search⌘ K
AI Features

Roles in Agile Projects

Learn about the various roles essential in Agile projects, such as stakeholders, product owners, developers, and testers. Understand how balanced team collaboration and generalizing specialists contribute to effective progress and success in Agile environments.

Agile roles

We should naturally ask about the roles that are needed on our Agile team. This depends on the type of project and the expertise needed. In a service-oriented project, knowledge of the business and the middle-ware or the underlying systems is required. When developing web applications, yet another area of expertise becomes relevant. Think in terms of user interface design. The roles in Agile teams vary from project to project. In each project, the following applies:

Expertise

All the expertise needed to realize the product is represented. There’s always expertise needed for analysis, development, and testing. Additional expertise is always necessary—for example, social media, web design, middleware, software, mobile and enterprise architecture, packages such as SAP, or Oracle databases.

Generalizing specialists

Everyone on the team represents one or more areas of expertise. They’re craftspeople, they’ve mastered their profession. They’ve usually mastered multiple professions. Scott Ambler calls these craftsmen generalizing specialists or craftsmen with expertise and knowledge of the world around them.

Note: The information analyst in the aforementioned team was very knowledgeable about UML. He knew the domain of the customer inside out. He also knew that both the SAP CRM consultant and the testers could develop using ABAP.

Stability

Precisely because the collaboration between key roles is crucial in Agile, we recommend keeping the team composition as stable as possible and unchanged. That way, progress is easy to measure and predict. Varying composition doesn’t work in Agile teams. Good collaboration takes time.

Balance

How do we keep everyone at work in an Agile team? What does the analyst do while the developer builds the user story? What does the tester do while the analyst elaborates the use case? The answer to such questions is simple. Everyone is working in an Agile team. Agile teams are balanced teams working together on several work items. All roles are constantly at work. In a team that takes responsibility, the team members are always looking for work. Primarily within their expertise, but also by supporting other team members or preparing work items for the next iteration.

Specialists

Every now and then, there are real specialists briefly involved in the project because of their expertise—for example, someone from the maintenance team, an enterprise architect, a web designer, an electronic banking specialist, or a configuration manager. They are temporarily part of the team and leave when their expertise is no longer needed.

In short, Agile teams have a different division of labor and responsibilities from traditional teams. It’s high time to take a closer look at the most common roles in Agile projects, such as stakeholders, customers, users, product owners, coaches, project managers, domain experts, developers, and testers.