THERE’S A COMMON MISCONCEPTION THAT PROJECT MANAGEMENT IS NOT CONSISTENT WITH AGILE. A contributing factor to that misconception is that there is normally no one called a “Project Manager” at the team level in an Agile project and the conventional view of project management requires a designated Project Manager. There is actually a lot of project management going on in an Agile project, even though you may not find anyone with the title of “Project Manager.”
It’s a different kind of project management with an emphasis on maximizing business value rather than the classical plan‐driven project management emphasis of providing predictability on costs and schedules for delivering well‐defined requirements.
The functions that might normally be performed by a single person called a “Project Manager” have been distributed among the different members of the Agile team.
WHAT IS DISTRIBUTED PROJECT MANAGEMENT ?
In an Agile environment, there may be no single person called a “Project Manager” and there is a good reason for that:
In a classical plan‐driven project, there is an emphasis on planning and control. There is also typically somewhat of a contractual relationship with the client to deliver a solution within an approved cost and schedule. In that kind of environment, it is advantageous to have a single point of responsibility for overall planning, control, and communications associated with the project.
An Agile project has much more of an emphasis on creativity and innovation to maximize the value of the solution. In that kind of environment, empowerment of the project team is essential and allowing enough flexibility and adaptivity to optimize the value of the solution is a very important goal. Too much emphasis on planning and control can stifle the creativity and innovation that are needed.
Those are some key reasons why a different approach to project management is needed in an Agile environment.
Primary Project Management Emphasis
Table 17.1 compares the emphasis shown between classical plan‐driven project management and Agile project management.
Planning and control to achieve cost and schedule goals
Maximize the overall value of the project
Why is it different?
The primary problem with the classical plan‐driven approach is that it doesn’t work well in an uncertain environment where it is difficult, if not impossible, to predict the requirements in detail prior to the start of the project.
Too much emphasis on planning and control can stifle the creativity and innovation that are needed to maximize the value of the solution.
Client Relationship
Table 17.2 compares the client relationship between a classical plan‐driven project management and an Agile project management.
The contractual relationship in a plan‐driven environment is important to control and manage any changes in scope where predictability over costs and schedules is important.
A more collaborative relationship is essential in an Agile environment to work jointly to maximize the value of the project in an uncertain and dynamic environment.
I also want to emphasize that this is not a binary choice between a contractual relationship and a collaborative relationship, and it is very possible for a hybrid approach to have some contractual commitments but also be collaborative at the same time.
Communications
Table 17.3 compares the type of communications between a classical plan‐driven project management and an Agile project management.
All communications are controlled through the Project Manager
Open and transparent communications directly between the project team and the customer
Why is it different?
In an Agile environment:
There is less of a need to control changes to requirements and project scope, and flexibility and adaptivity are needed to meet uncertain customer needs.
Developers are expected to talk directly to users to better understand requirements as the project is in progress.
The project team is expected to share project status information openly with the client so that the client is actively involved in the management of the project.
Overall Responsibility
Table 17.4 compares overall responsibility between a classical plan‐driven project management and an Agile project management.
The entire team is responsible for the success of the project; however, the Product Owner has ultimate responsibility for the overall success of the project
Responsibilities for tasks are assigned and clearly defined
The project team is intended to be self‐organizing and responsible for planning and managing their own tasks
Why is it different?
In an Agile environment:
Flexibility and adaptivity require more decentralized and distributed management where everyone on the team takes some level of responsibility for their own work and for the work of the team as a whole.
An empowered team where everyone on the team feels some responsibility for the success of the project builds morale and is typically more effective and produces better results.
DISTRIBUTED PROJECT MANAGEMENT ROLES
In an Agile environment at the team level, instead of having a single person who is responsible for project management called a Project Manager, the functions that might be performed by a Project Manager have been distributed among other members of the team: the Developer, the Business Analyst, the Project Owner, and the Scrum Master.
Developer Project Management Responsibilities
Primary Responsibilities
The following are some of the tasks that a Developer would normally be expected to perform in an Agile environment that might normally be performed by a Project Manager in a classical plan‐driven project management environment.
Developers are expected to take responsibility for planning and managing individual developer tasks which would include:
estimate the amount of work to be done
plan and manage the completion of the work
take responsibility for the quality of the software developed
take overall responsibility for “shepherding” the story through the process all the way to (and including) UAT. The Developer responsible for the story should lead the presentation of the completed story to the Product Owner in UAT (or Sprint Review).
track and report progress at Daily Scrums and other forums.
Beyond these individual responsibilities, all Developers are expected to share responsibility for the overall team results which would include:
working effectively as a team member to build a high performance, cohesive team
integrating related efforts within the team to build an overall solution.
Other Responsibilities
In an Agile environment, a Developer needs to also assume some other responsibilities that might normally be performed by either a Project Manager or a Business Analyst.
Requirements Definition
Working directly with the Product Owner to clarify and further define the details of how stories should be implemented.
Understanding the business purpose of the story and defining and analyzing possible alternative ways of satisfying it.
Providing support to the Product Owner and business users in helping to write and refine user stories and to groom the product backlog.
Process Knowledge and Process Improvement
Understanding and effectively participating in all Agile/Scrum processes including Sprint Planning, Daily Standups, Sprint Reviews, and Sprint Retrospectives.
Taking a leadership role in presenting completed work to the Product Owner and users for approval at the end of each sprint.
Contributing to ongoing team process improvement through Sprint Retrospectives.
In the real world, it is very difficult for some Developers to fully assume all these responsibilities and some compromises may be needed from this ideal model. In these cases, there may be good reason for the Project Manager or a Business Analyst to provide help to the Developer. However, as much as possible, that assistance should be provided in a way that is consistent with Agile. Here are a couple of guidelines for that:
If a Project Manager is involved at the team level, he/she should be in more of an advisory and support role rather than a management control mode.
If a Business Analyst is involved at the team level, he/she should not be just an intermediary between the development team and the business users.
Product Owner Project Management Responsibilities
In an Agile environment, the Product Owner takes on many of the roles that might normally be performed by a Project Manager in a classical plan‐driven environment. The following is a comparison of the responsibilities of a Product Owner and a Project Manager:
The role of the Product Owner in an Agile project comes closest to the role of a Project Manager, but it really is a hybrid of some project management functions and some product management functions. Table 17.5 shows how these two roles are different from an overall responsibility perspective.
Overall Responsibility
Table 17.5 compares the Product Owner’s responsibility role between a classical plan‐driven project management and an Agile project management..
TABLE 17.5 Comparison of Product Owner’s responsibility role
Execute the project with defined goals and requirements determined by the business sponsor and business users
Some decision‐making authority for defining and prioritizing goals and requirements
Financial Management
Table 17.7 shows how these two roles are different from the perspective of financial management to include budgeting, business planning, and cost management.
TABLE 17.7 Comparison of Product Owner’s financial management role
Responsible for monitoring and controlling project risks and some decision‐making responsibility for resolving risks within the project budget and plan
Similar responsibility but includes more decision‐making responsibility for resolving risks
Reviewing and Approving Results
Table 17.10 shows how these two roles are different from the perspective of reviewing and approving results including acceptance testing.
TABLE 17.10 Comparison of Product Owner’s approval role
Track and manage progress against goals and report progress
Same, plus some decision‐making authority to revise goals and/or reprioritize deliverables as necessary to meet goals
Scrum Master Project Management Responsibilities
The Scrum Master in an Agile environment also takes on some functions that might be performed by a Project Manager in a classical plan‐driven environment. In essence, the Product Owner focuses on the “what” (defining what needs to be done) and the Scrum Master focuses on the “how” (working with the team on how the work gets done).1
Leading and Facilitating the Team
Table 17.12 shows how these two roles are different from the perspective of leading and facilitating the team.
TABLE 17.12 Comparison of Scrum Master’s leading and facilitating role
Typical Project Manager responsibility
Typical Scrum Master responsibility
Assignment, management, and tracking of all tasks and activities assigned to the team
“Servant‐leader” role––facilitating the team and coaching the team in the Scrum process
Responsibility for management of all tasks and activities performed by the team
The team is expected to be self‐organizing, and the Scrum Master plays more of a facilitation role
Responsible for facilitating team meetings
Similar responsibility
Removal of Obstacles
Table 17.13 shows how these two roles are different from the perspective of removal of obstacles.
TABLE 17.13 Comparison of Scrum Master’s obstacle removal role
Typical Project Manager responsibility
Typical Scrum Master responsibility
Responsible for removing obstacles that might be impeding team progress
Similar responsibility
SUMMARY OF KEY POINTS
What Is Distributed Project Management?
Even though you may not find anyone called a “Project Manager” at the team level in an Agile project, there is a lot of “project management” going on. Many people may not recognize this as “project management” because:
It’s a different kind of project management, with an emphasis on maximizing business value rather than a more limited emphasis on planning and control to meet cost and schedule goals.
The project management functions have been distributed among the members of the team instead of being done by a single person called a “Project Manager.”
A broader view of what “project management” is must be adopted in order to recognize this as “project management.”
The Developer’s Project Management Roles
The role of a Developer in an Agile environment goes well beyond simply writing code:
A Developer in an Agile environment is expected to perform some functions that might normally be performed by either a Project Manager or a Business Analyst in a classical plan‐driven environment.
Some of the additional responsibilities normally given to a Developer in an Agile environment include:
estimating the amount of work to be done
planning and managing the completion of the work
taking responsibility for the quality of the software developed
taking overall responsibility for “shepherding” the story through the process all the way to (and including) User Acceptance Testing (UAT). The Developer responsible for the story should lead the presentation of the completed story to the Product Owner in UAT (or Sprint Review).
tracking and reporting progress at Daily Scrums and other forums.
Other responsibilities include:
working effectively as a team member to build a high performance, cohesive team
integrating related efforts within the team to build an overall solution.
The Product Owner’s Project Management Role
The role of a Product Owner in an Agile environment is most like the role of a Project Manager, but it includes some additional functions that might be considered more similar to “Product Management.”
Overall responsibility: In the area of overall product/project responsibility, the Product Owner’s responsibilities go beyond the role of a Project Manager. The Product Owner is responsible for the overall business success of the product or project and not for simply meeting cost and schedule goals.
Goals and requirements: In the area of setting goals and requirements, the Product Owner’s responsibilities also go beyond the role of a Project Manager. The Product Owner has some responsibility for defining and prioritizing goals and requirements that a Project Manager does not normally have.
Financial management: In the area of financial management, a Product Owner typically has overall responsibility for business value and profitability where a Project Manager is typically only responsible for managing project costs to meet an approved budget.
Planning schedules and Product Roadmap: In the area of planning schedules, a Product Owner takes an active role in setting the schedule by making decisions and prioritizing what needs to be done, where the authority of a Project Manager for making that kind of decision is typically much more limited.
Risk management: Both a Product Owner and a Project Manager are responsible for risk management; however, a Product Owner typically has more decision‐making authority for resolving risks.
Tracking and managing progress against goals: Both roles are responsible for tracking and managing progress against goals; however, a Product Owner has more authority for revising goals and/or reprioritizing deliverables to meet the goals.
Review and approval of results: The Product Owner has more decision‐making authority on approval of results where the Project Manager is typically limited to testing the results against defined requirements and facilitating final acceptance testing.
The Scrum Master’s Project Management Role
The Scrum Master in an Agile project also has a few functions that would be considered similar to a project management role; however, it would not be accurate to think of the general Scrum Master’s role as a typical Project Manager’s role.
The functions of the Scrum Master’s role that have some similarity to a project management role include:
leading and facilitating the team and team meetings
removal of obstacles.
DISCUSSION TOPICS
What Is Distributed Project Management?
What are the major factors that call for a different approach to project management in an Agile project? What’s different about a distributed approach to project management and why is it necessary?
The Developer’s Project Management Role
How is the role of a Developer different in an Agile environment?
What additional responsibilities are Developers expected to take on that might normally be done by a Project Manager?
What are some of the pros and cons for giving this additional responsibility to Developers?
The Product Owner’s Project Management Role
Whose role has the greatest level of responsibility: a Product Owner or a Project Manager? Why? How do the roles compare?
Is the Product Owner’s role more like a Product Manager’s role or a Project Manager’s role? Why?
How does the Product Owner’s financial responsibility differ from that of a typical Project Manager?
How does the Product Owner’s responsibility for review and approval of results compare to a typical Project Manager?
The Scrum Master’s Project Management Role
Is the Scrum Master’s role the most similar Agile role to that of a Project Manager? Why or why not?
What functions of a Scrum Master’s role are most similar to a project management role?
NOTE
1. Winston Gonzalez, email comments to the author on book review.