Page 15 -
P. 15

contains advanced applications of these tools and techniques. The goal of this book is to
                          help a project manager put the basic versions of these practices in place quickly, in order
                          to see immediate improvement in the efficiency of a project.
                          Software engineers are a very practical bunch. They do not like adopting practices unless
                          they believe they will see a net gain from them. A practice must save more time than it
                          costs to implement. Every single tool, technique, and practice in this book is time-tested.
                          These practices (or similar ones) have been used in many successful projects around the
                          world and in organizations of all sizes. These practices would not have found such wide-
                          spread adoption if they were not efficient.

                          All of the effort that goes into reviews, unit testing, requirements engineering—everything
                          that does not directly produce code—positively affects the bottom line of your project. If it
                          looks like a lot of work, you should think about the effort you are saving by not having to fix
                          the problems later when they show up as defects in your software. What’s more, you can be
                          confident that we optimized the techniques that you are putting in place in order to make
                          them as easy to adopt as possible. But most importantly, you can be sure that your project
                          will go more smoothly with them in place than it would without them.
                          This principle is most important when a project starts to slip and a deadline looms nearer
                          (or when one is blown altogether). It may be tempting to start cutting out these practices
                          and concentrate all of the effort into pumping out code. That’s one of the most common
                          mistakes that project managers make. Cutting out good project management practices will
                          make the project take longer, not make it go faster.

                          Part I: Tools and Techniques

                          If you’re a project manager and you’re reading this book, you probably can think of
                          chronic problems on your projects that you need to solve. What’s more, you probably
                          want to do it without trying to change the entire culture of your organization. You want
                          to build better software; you don’t necessarily want to undertake a major process
                          improvement initiative, or try to change the way everyone in your organization thinks
                          about building software. This book is written to treat a number of common problems sep-
                          arately by providing self-contained tools and techniques that address them.

                          Most people think of a tool as a piece of software that can be used to manage a project
                          schedule, track defects, or automate other tasks, in order to increase productivity on a
                          project. While there are certainly software tools like these discussed in this book, we support
                          a wider definition of the term. Here, “tool” is used to mean any self-contained concept, prac-
                          tice, technique, or software package that can be applied independently to a software project,
                          in order to improve the way it is performed. Risk management, for example, is as much of a
                          tool as Microsoft Project or Subversion. To make this distinction clear, the term “tools and
                          techniques” will be used throughout the book to indicate this concept.

                          The idea behind these tools and techniques is to allow a project manager to pick and
                          choose only those practices that solve the specific problems she is having with her own


                                                                                            INTRODUCTION  7
   10   11   12   13   14   15   16   17   18   19   20