Back
so soon? I told you guys it was time to get this knocked out! Last post
we talked about Quality Management, this post we are going to hit Human
Resource Management.
According to PMI, Human Resource Management
includes the processes that manage and organize the project team.
Pretty simple huh? This is an interesting topic because we generally
want agile teams to be self-managing and self-organizing. Do we throw
this one out all together? Is there any way we'll be able to bridge the
gap?
I've got to honest with you guys, I am not exactly sure
where this one is going to end up. Let's jump in and see what we can
do.
Human Resource Planning
PMI Definition: Identifying
and documenting project roles, responsibilities, and reporting
relationships, as well as creating the staffing management plan
Does a RACI diagram have any place on an agile team?
Agile
tends to assume that you are staffing your team with specializing
generalists. What is a specializing generalist you ask? These are
people that may have specialization in a given area but are willing and
able to operate outside their area of specialization.
Specialization
is problematic because it leads to matrixed organizations. If a
specialized skill set is required only part of the time, we need to
find something else for that person to do with their downtime.
Organizations end up filling that downtime with other project work. The
problem here is that working on more than one project dilutes focus and
creates artificial dependencies between projects. Real dependencies are
one thing, self imposed dependencies are quite another.
Specializing
generalists allow me to have a single person do more than one kind of
work, eliminating constraints, and reducing the need to matrix people
across multiple projects.
Teams work best when they stay
together and are all focused on a common objective. They establish a
stable throughput, they trust each other, they understand how to work
together. Agile values continuity and it's part of what keeps agile
teams fast and lightweight. This is a very difficult, if not
impossible, to achieve in a matrixed organization.
That said, we
still need to know overall what skills are required. We need to do the
necessary due diligence to make sure that our team collectively has the
competencies required to deliver. We need people that can potentially
fill several roles on the team. If a RACI diagram helps you figure that
out… go for it.
Acquire the Project Team
PMI Definition: Obtaining the human resources needed to complete the project
After
giving this one some thought, I don't think agile has much to say here
or much overlap with PMI. I'll just take this opportunity to restate
the importance of building teams with specializing generalists. Getting
the right people on the bus makes all the difference.
Develop the Project Team
PMI Definition: Improving the competencies and interaction of team members to enhance project performance
Agile teams improve competency through collaboration and teamwork.
How
does collaboration and teamwork come into play on agile teams? Most
teams will have a mix of senior people and junior people, people who
are better in one are of the application than in another area of the
application. Agile encourages close collaboration amongst team members,
pair programming, and shared ownership. It gives everyone the
opportunity to broaden their skillsets, learn new technologies, and
become proficient in areas of the application they might not otherwise
touch.
Daily standup meetings keep people involved and connected
with each other. Retrospectives help the team learn from each other and
decide how to work together more effectively. Creating this
collaborative learning environment is one of the reasons that
collocation is such an important aspect of building agile teams. Agile
leaders value team building and collaboration so much, they tend to
focus more energy on activities that give opportunity to develop closer
interpersonal relationships.
If your team members lack a
particular competency, and no one on the team has that skill, training
one or more folks becomes a critical success factor. Make sure you have
that time and money in your overall project plan for formal training.
Manage the Project Team
PMI Definition: Tracking
team member performance, providing feedback, resolving issues, and
coordinating changes to enhance project performance.
Ideally
we want our teams to be self-managing and self-organizing. Give people
the objective and get them the environment and the tools they need to
deliver. The agile project manager can play a huge role in creating the
kind of environment for this kind of behavior to emerge.
An
agile PM needs to lay out the vision, make sure the team has the
necessary skills to do the job, layout the initial planning structure,
establish the metrics, and support the team by removing the things that
get in their way. Part of establishing structure is keeping things
visible and maintaining a culture of accountability. Iteration
planning, daily stand-ups, product demos, and retrospectives help
create this culture.
As an agile PM, I almost always track
project burndown, iteration burndown, defect trends, and historical
velocity. These metrics, in conjunction with the daily standup, usually
give me a pretty good idea of how the team is doing. There have been
times when I have needed to track individual hours and individual
velocity but these cases should be the exception to the rule.
Agile
definitely puts more emphasis on leading the team over managing the
team. The reality is that sometimes your team is not healthy and mature
or in a good place to manage themselves. A good manager, with a focus
on servant leadership, can help create an environment where teams can
thrive and people can learn what it means to take full ownership of
project outcomes.
Now if we could just get PMI to stop calling our team members Human Resources!
Comments