Page 179 -
P. 179

9 - PROJECT HUMAN RESOURCE MANAGEMENT






                   9.3.2.8 Additional Tools and Techniques


                      The following tools and techniques address some additional tools and techniques for developing a software
                   project team.
                         •   Pair Programming. The practice of pair programming, where two software developers share a programming
                           task, can assist greatly with skills improvement and learning of good practices. Often, team members of
                           dissimilar skill levels are paired and pair members are rotated frequently in order to maximize learning
                           opportunities. This also has the benefit of sharing project information and technical knowledge throughout
                           the team, thus reducing the dependency on key individuals for their knowledge and skills. In the event that a
                           team member leaves the project, the impact is not as significant because there are others who understand
                           the topic.
                         •   Test-Driven Development. The practice of test-driven development (TDD) also helps improve team
                           competencies through short feedback cycles of experimental learning. TDD or “red, green, refactor”
                           refers to the steps of writing a test (that fails), then writing code until the test passes, then refactoring
                           the code for clarity; this process may occur many times each day. By encouraging developers to think
                           about how code will be tested before writing code, business purpose and usability are considered
                           frequently, which enhances software quality and user acceptance. However, the main benefit is for the
                           team members, who will increase their understanding and skills through rapid cycles of exploration,
                           test, and feedback. These concepts, as they are reinforced in adaptive life cycle software projects, are
                           illustrated in Figure 9-2.
                         •   Colocation. Software project teams coalesce and become more productive when they are stable and
                           colocated. It takes time for teams to progress through the Tuckman stages of forming, storming, norming,
                           and finally to performing to optimize team output [38]. Swapping people in and out of a team triggers the
                           storming and norming phases again as new team members find their place in the team and the team
                           adjusts to them.
                             Part of the storming and norming process for software project team members is learning how to deal
                           with team conflict, negotiating, gaining commitment for decisions, and ultimately developing a sense
                           of shared accountability for project outcomes. These are complex issues that impact all projects when
                           skilled people need to collaborate on building novel solutions; they are particularly important issues
                           for software project team members. Getting skilled people to work together and harness constructive
                           disagreement and rigorously test decisions is a primary goal of software team development and a key
                           skill of an effective software project manager.

                             Colocation of team members helps this process and allows direct face-to-face communication. Colocation
                           is not always possible, but given a choice of two teams—one experienced but dispersed and one less
                           experienced but local—the local team is often the best choice for a software project.
                             Colocation also facilitates open unfiltered debate. Without the barriers of video conferencing, email, and
                           telephone, it is much easier to get to the heart of an issue when in direct communication. Empowered
                           teams and shared decision-making help to build commitment.






          170      ©2013 Project Management Institute. Software Extension to the PMBOK  Guide Fifth Edition
                                                                   ®
   174   175   176   177   178   179   180   181   182   183   184