Agile Roles
Many people struggle to understand where their role fits on an agile team. A lot has been written about this topic, but I’ll attempt to clarify how I believe traditional roles (i.e. Architect, Developer, Project Manager) can transition effectively to an agile team.
The most important thing to remember is that roles are just a tool for achieving your projects goals. This means that the roles on your project need to fit the people that you have; the roles aren’t rules, they need to work. This doesn’t mean, however, that you should just stick with the traditional roles and not attempt to find better ways to achieve your goals. Traditionally, projects tend to be made up of groups of specialists who all work in their own silos. This will not work well on an agile team, because collaboration, communication, and collective ownership are so important to a successful agile team. What an agile team really needs is a group of generalizing specialists.
A generalizing specialist is someone who is “a jack-of-all-trades and a master of a few.” The nice thing about this is that most of us are already very good at some things, so the transition mostly consists of picking up some additional skills that make us more well-rounded members of the team. By having these “extra” skills, we are able to work with all members of the team effectively and can contribute in more areas than just our specialty. In practice, this means that someone who would traditionally fill the Business Analyst role, for example, can be most effective on an agile team by utilizing their current strengths (e.g. communication and domain knowledge), but also by adding test driven development or agile modeling techniques to their tool set. They don’t need to be experts at these new responsibilities, they just need to be capable enough to at least pair with someone who is an expert. This will give them more insight into what other team members do and will also bring their, hopefully, considerable domain knowledge to other team members. This same pattern can be applied to other traditional roles, resulting in a truly agile team that can work at a faster pace without compromising quality.
For more reading on agile roles, I highly recommend Scott Amblers articles on positions and generalizing specialists.
This entry was posted by Jesse O'Neill-Oine on Monday, February 12th, 2007 at 1:15 pm and is filed under Agile Processes. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.