Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Complex software development projects require critical decision-making in the upstream portion of the development process, particularly during the specification and design phases. One of the most important upstream decisions is building the development team. From a managerial perspective, many factors must be considered when building the team. For more complex projects, knowledge from multiple technical and functional domains is a necessity (Walz, Elam, and Curtis 1993). Walz, Elam, and Curtis claim that in an ideal situation a software design team is staffed so that both the levels and distribution of knowledge within the team match those required for the successful completion of the project. Unfortunately, only under ideal circumstances can this be applied. In the real world, a manager is often faced with the technical and knowledge shortfalls of team members. In most situations, individual team members must acquire additional information before accomplishing their set tasks. To bridge the knowledge gap, formal training sessions, group meetings, and discussions frequently may be required. The most productive activities of the team come from the integration of knowledge.
During the knowledge-integration process, the manager is faced with handling multiple, concurrent, and often conflicting goals. The manager needs to be able to leverage the specific strengths of individual people while still maintaining the uniformity and stability of the pending project.