The collaborative nature of Agile management and leadership seems odd in a world where businesses have CEOs, ships have captains, nations have presidents and employees have bosses. A closer look, however, will show that Agile practices let all members of a development team do what they do best -- and sometimes that includes playing the role of coach or even project manager.
This FAQ provides answers to questions that software professionals new to Agile might have about management and leadership.
Who is in charge of Agile development projects? The CIO? The project manager? The Scrum Master?
The short answer is no one individual, and everyone on the team. That's because the tenets of the Agile Manifesto call for self-directed, self-organizing teams to work together on projects. In this model, team members handle specific tasks suited to their ability and the project's needs, and the team is collectively accountable for the project's results. Agile proponents believe that spreading out management tasks empowers all players and spurs innovation and productivity more than old-style command-and-control management does.
The long answer is that most Agile projects include members who take on Agile management roles and become team leaders. These team leaders come in many forms: the Agile coach, whose role is to help the team understand and use Agile practices; the basic Agile team leader, who is a facilitator of meetings and consensus; and the Scrum Master, who in Agile-like development is considered closest to a project manager. To most Agile proponents, as long as collaborative development takes place, the titles of Agile team leaders don't matter.
On the face of it,, then, the role of the traditional project manager is eliminated in Agile development. In Agile circles, traditional project management is considered too top-down, hierarchically speaking. In contrast, Agile favors collaboration, continuous self-improvement and responsibility sharing. Management tasks are shared by all members of the development project team.
That's not to say that Agile development is anti-project manager. Its aim is to relieve project managers of having to take responsibility for the whole project -- and taking the fall for failures. Agile parses out some, but not all, of the project manager's responsibilities across the whole team. For example, assigning daily development-tasksand decision making go to the development representative; quality management has a representative on the team, while quality assurance is a shared responsibility. In this situation, project managers don't make the decisions that should reside with experts in each area, and that should result in faster delivery and better product quality.
Whether or not a C-level executive starts the Agile ball rolling, it's critical that senior management support Agile practices and participate in projects.
Agile's joint-leadership approach has given it a bad name in project management circles and has led to resistance to Agile adoption, said Bob Galen, certified Scrum coach and author of the books Scrum Product Ownership -- Balancing Value from the Inside Outand Agile Reflections. Agile, however, doesn't take away the need for project management skills. Instead, it calls for a change in style -- from someone being "boss" to being "coach" and "team member" -- and sharing responsibility and evolving as iterative development practices change.
There is no need for project managers to shy away from Agile. Indeed, The Project Management Institute, or PMI, which has added Agile Certified Practitioner, or ACP, to its list of certifications, certainly hasn't.
What is a Scrum Master's role? Is the Scrum Master more like a project manager than an Agile leader is?
The leader of a Scrum development project is called the Scrum Master. That person facilitates the processes of the team, just as an Agile team leader does, but also ensures that the Scrum process is followed.
Scrum is a development methodology that is usually placed in the Agile camp because Scrum and Agile have similar practices, such as frequent, short team meetings and iterative development. Some Scrum purists disagree, and some Agile evangelists consider Agile a cultural methodology.
Scrum does cast the Scrum Master role as one that's very close to the role of a project manager. Agile expert Yvette Francino notes that there are similarities between the duties of Scrum Masters and project managers, in that both facilitate team meetings and help teams reach consensus.
Agile test manager Lisa Crispin agrees, noting that most of the duties of a traditional application development manager have been placed on the Scrum Master's agenda. Like a project manager, a Scrum Master helps the team track progress and removes barriers to it.
When you think about the role of the Scrum Master or Agile team leader, keep the ideal of collaboration, collective decision making and responsibility-sharing in mind, Crispin said. In first-time Agile projects, for example, having a project manager or an Agile coach can help the team best use Agile processes to break away from the productivity impediments of waterfall development. The Agile methodology encourages experimentation, so organizations can adapt to new leadership options as their Agile expertise and experience grows.
What is the role of the C-level executive in Agile development projects?
CEOs, chief information officers (CIOs) and chief technology officers usually make strategic decisions about Agile in large enterprises, ranging from initial adoption to resource planning to scaling Agile and more.
Frequently, the call to adopt Agile comes from upper management. Whether or not a C-level executive starts the Agile ball rolling, it's critical that senior management support Agile practices and participate in projects. Upper managers' key role is providing the resources and the leadership to make the organizational and cultural changes the Agile methodology requires. In most cases, senior managers are the ones with the authority to bring business, IT, development, customers and other constituents together as a team. Senior managers may also hold the purse strings for training and staffing.
Many Agile project failures and slowdowns can be attributed to lack of senior management involvement in Agile adoption, training and individual projects, according to Scrum coach Galen. CEOs, CIOs and senior managers might not have the time to attend all stand-up meetings, but their participation in Agile project teams encourages buy-in from non-development members of the team. In addition, senior managers can bring information about business goals and roadmaps that helps teams with building application requirements and estimating iterations. Their sponsorship at the project level is critical, Galen said, to the delivery of the right software at the right time.