Page 253 -
P. 253

For example, it seems intuitive that doubling the staff on a project should allow them to
                          complete it in half the time. However, in the real world, projects are much more complex:
                          there is overhead in the extra communication, certain tasks on a critical path cannot be
                          split, it takes time for new team members to ramp up, etc. But that doesn’t stop many
                          project managers from trying over and over again to throw additional team members at a
                          late project, only to find that it becomes an even later project. *
                          Unfortunately, software project managers have to make decisions based on complicated
                          information all the time. To make good decisions, you have to understand software engi-
                          neering concepts and technological concepts that are not intuitive, and remain open to the
                          idea that there have been recent innovations or changes in software engineering and tech-
                          nology that may contradict your current beliefs. This job is about being informed, not
                          about feeling your way through problems.

                          A project manager must make many individual decisions: who to assign tasks to, how long
                          they should be expected to take, whether to implement certain features or requirements,
                          the dependency between tasks and software behavior, and many other design, develop-
                          ment, and testing decisions. There is no way that even the best project manager can be on
                          top of every detail in an average-sized software project. But these decisions still must be
                          made. So how can you make them without simply relying on your intuition, but also
                          without being overwhelmed by the details?
                          Luckily, your project team is staffed by competent software engineers who are capable of
                          building the software. (If your team is not competent, you have bigger problems!) This
                          means that you have at your disposal people who can help you make those decisions. You
                          should enlist their help and work to understand the perspectives of all of the people
                          involved in the project. When you make a decision, you must understand which team
                          members it affects and take their perspectives into account. If you don’t know those per-
                          spectives yet, ask the team members their opinions. Most people will be more than happy
                          to help you decide the direction of their tasks, and you will almost certainly get better
                          results because they participated in the decision-making process.

                          If you try to learn all of the details for every decision that must be made, you will find
                          that your projects will quickly get bogged down, with everyone waiting for you to

                          decide on at least one issue. But if you work with your team to make well-informed
                          decisions, you can share that load...and everybody wins. That’s why you have a team:
                          so people can collaborate.

                          Don’t second-guess estimates

                          Many managers fall into a common trap when considering their team members’ estimates:
                          they automatically cut those estimates, no matter how reasonable or well researched they
                          are. There are generally three reasons this is done.


                          * Fred Brooks pointed this out in his 1975 book The Mythical Man-Month. He referred to it as Brooks’
                            Law: “Adding manpower to a late software project makes it later.”

                                                                               MANAGEMENT AND LEADERSHIP  245
   248   249   250   251   252   253   254   255   256   257   258