Getting Results from Software Development Teams
Learn best practices for software development project management and lead your teams and projects to success. Dr. Lawrence Peters is an industry-recognized expert with decades of experience conducting research and leading real-world software projects. Beyond getting the best developers, equipment, budget, and timeline possible Peters concludes that no factor is more critical to project success than the manager's role. Drawing on proven practices from allied industries such as business, psychology, accounting, and law, he describes a broader project-management methodology with principles that software managers can readily adapt to help increase their own effectiveness and the productivity of their teams.
Unlike other books on the topic, this book focuses squarely on the manager and shows how to get results without adopting philosophies from Genghis Khan or Machiavelli. (There is mention of Godzilla, however.) Packed with real-world examples and pragmatic advice, this book shows any software development manager new or experienced how to lead teams in delivering the right results for their business.
Review By: Stephen T. Long
02/02/2009
Right from the start, Mr. Peters equates successful project management with leadership as well as management skills. Not so much with the technical aspects. As Mr. Peters states, "software project management is not software development" but involves employing teams effectively to produce a useful software product. With that start, the book then focuses on methods and techniques that enable managers to control scope, resources, and schedule. The chapters that discuss people-related issues are the most compelling, especially Chapter 2, titled "Why is Software So Difficult?" It contains a list of twelve myths associated with software. Chapter 3, titled "Building the Software Development Team," covers conducting interviews and aligning team members with tasks.
I found the core of the book on project planning, management methods, and technologies to be overkill and very "ivory tower-ish." The techniques that are presented seem not to be applicable to the majority of development projects (based on my experience) since, to be effective, they need a lot of supporting data/metrics to be applied effectively. Managers in companies that have collected this data and are using it effectively will find that the details in applying the techniques may be too high level to be useful. The chapters in the middle section of the book seem to be drawn from disparate previous works with little effort to make them flow coherently. I would have preferred the author to develop a software development story that follows the manager from project concept to product delivery and applying the discussed techniques, as can be applied, in the story's progression. This would probably weed out the techniques with high overhead like COCOMO II. On a personal note, I found the discussion on earned value management to be enlightening.
This book could have used much better editing. There is too much repetition (repeated facts and situations that did not add any value the second or third time), ordered summary lists that are discussed in detail in following sections are presented in a different order, the writing contains a reference to a non-existent figure and other inconsistent references, and it contains typos and other errors. It appears that different sections were written at vastly different times and little effort was made for a thorough review.