Chapter 5. Best Practices for Staffing the Contractor's Software Project Team
Software development has been and will continue to be very dependent on the caliber of the individuals involved. The reason, of course, is that software development is an intellectual exercise. More importantly, teams produce successful software development projects. The trends of outsourcing and offshoring extend this concept further by introducing groups of teams that must work well together (hence, the reason for a separate chapter covering the outsourcing organization's team). In his book Object Solutions: Managing the Object-Oriented Project, Grady Booch, one of the creators of the RUP, states, "It is time that I come clean and unveil one of the dirty little secrets of software engineering: People are more important than any process."
Successful teams are fascinating to analyze. After observing hundreds of teams over the years, I believe that good teams transcend process and technology. A successful software development team has much in common with a successful sports team. In particular, the following are characteristics of a good team:
This chapter describes the major roles on a modern, high-performance software development team. It discusses the best practices for creating a team that will eventually exhibit the characteristics just listed (but this does not occur overnight!). This chapter also discusses how these teams are best managed.
Governing Principles for Staffing the Team
The first step toward building a cohesive team is to recognize that you must evaluate a prospective team member in two areas. The first is to understand the candidate's attitude and disposition toward working on a team. The second is to evaluate the person's technical abilities for the role in question. This section considers the former.
When evaluating a candidate to join your team, focus first on attributes that give insight into the person's attitude and propensity for working on a team. Here are some suggestions and ideas for when you interview candidates:
The exact answers to these questions are not as important as how the candidate answers the questions.