Page 36 -
P. 36
2 - PROJECT LIFE CYCLE AND ORGANIZATION
2.3 The Project Team
2.3.1 Composition of Project Teams
The composition of a software project team is often a balance between ideal considerations and practical
constraints. Ideal considerations for composing software development teams include:
• Dedicated vs. non-dedicated team members. In the world of knowledge work, switching context
between multiple assignments incurs intellectual overhead. Therefore, software projects benefit from
dedicated resources. Assigning team members to one project at a time can limit switching of contexts
among multiple, part-time tasks and improve the productivity of software teams. However, some projects
do not have enough work for the various specialized skill sets required nor the budget to support
dedicated resources for those specialized skills. As a result, many software project managers strike a
balance between dedicated and non-dedicated resources.
• Collaborative team vs. functional division. In some organizations, collaborative dedicated team
members possess all of the skills required to deliver tested working software rather than allocating
software to be developed among separate functional units. The latter approach may involve assigning
development of user interface components to the user interface group and database components to the
database group, etc. In contrast, a collaborative team may include expertise in user interfaces, databases,
and other needed specialties. Aligning teams in a collaborative manner increases feedback among team
members and reduces feedback time. It also allows learning to occur throughout the course of the project,
which is reflected in the work products and interactions among the team members. Some software
organizations maintain functional groups in the interest of maximizing utilization of specialty resources.
As indicated previously, striking a balance between dedicated and non-dedicated resources, which may
be reflected as a collaborative team versus functional divisions, is a challenging economic dilemma in
software development. Managers of collaborative teams sometimes alleviate the collaborative versus
functional dilemma by assigning functional specialists for varying periods of time, as needed.
• Virtual vs. colocated. The complex and abstract nature of software makes it difficult for software
engineers to communicate detailed technical issues in written form. In order to convey abstract ideas and
achieve the collaboration needed for innovation, many teams benefit from face-to-face discussions. An
additional benefit is the tacit knowledge that is gained and used when project team discussions are held
in common meeting areas. However, some organizations control costs and utilize specialized resources
by outsourcing to low-cost providers. As a result, a software project manager may choose to strike
a balance between face-to-face communication for activities such as project initiation and planning,
orientation, and training with day-to-day work performed in a virtual environment.
• Specialists vs. generalists. Software projects often require specialized skills that incur high labor costs.
Many project managers staff their software projects with project members who have generalist skills and
rely on them to perform the majority of the work. Periodically, an expert will be called upon to mentor and
assist the generalists in specialized areas. Another benefit of this approach is that generalists may offer
broader perspectives than specialists and may develop more solution options.
24 ©2013 Project Management Institute. Software Extension to the PMBOK Guide Fifth Edition
®