Sure, many developers don't want to know about project management stuff. “Just let me code and leave all that to the project manager,” seems to be the prevailing attitude. But knowing the context or having a frame of reference is always important if you want to truly understand where you fit in the larger picture. For example, have you ever wondered what in the world your project manager is going on about when she asks why you chose to use the RAD model when the Structured Prototype model would make so much more sense? If so, the book Quality Software Project Management is probably worth a look.
I won’t go so far as to recommend that you drop whatever you’re reading and read this book cover to cover. I'm merely suggesting that Quality Software Project Management makes a great introduction and high-level reference to the entire field of software development project management. Unlike many books on project management or software development that tend to drill down into one small area, this title covers a little bit of everything. Think of it as a Hitchhiker's Guide to project management, and you’ll have the right idea.
Common threads tie the book together
At just over 1,600 pages, this is a book with a gigantic scope, covering topics like cost and effort estimating, risk management, project management, and even personnel topics like applying personality types in team selection. Everything is tied together by a case study introduced at the beginning of the book, and each chapter ends with a section that brings that chapter’s content to bear on the case study. This turns into a very effective tool for the authors to give real world context to some of the more complex concepts covered.
The other common binding mechanism used by the authors to bring context to the whole book is what they call “The 34 Competencies.” Defined very early on in the text, these competencies identify the core requirements for successful software project management. They are broken down into three main categories:
- Product competencies deal with assessing and selecting development methods, processes, and tools, as well as product, requirement, and quality definitions.
- Project competencies include things like estimating and managing cost, effort, and risk, along with traditional project management tasks like tracking progress via metrics.
- People competencies are largely concerned with managing people, and include areas like recruiting, performance evaluation, negotiation, and even handling intellectual property.
Every topic the book covers is related in some way to one of the competencies, and there’s even a handy reference to the chapters covering each competency area. I found that the use of these 34 binding themes to be a great way to tie the book’s massive amount of content together, and make it usable despite its large size.
Development models for developers
A great example of the usefulness of Quality Software Project Management to both developers and project managers is chapter 4, “Selecting Software Development Life Cycles.” Here, the authors start out with the basics of software life cycles, and then dive into the details of various development models, like Waterfall, V-Shaped, Structured Evolutionary Prototype, Rapid Application Development, the Incremental model, and the Spiral model. Each section includes the strengths and weaknesses of each model and a discussion of when the use of each is appropriate.
Granted, there are entire books devoted to each of the models the authors cover, but I found that the nutshell views made it easier for me to place the models into their use contexts without having to study each one in full detail.
For example some of the suggestions for when to use the Incremental model included:
- When most of the requirements are known up front but are expected to evolve over time
- When there is a short market window and a need to get basic functionality to the market quickly
- When the risk for the project is low to medium
- When deliveries occur at regular intervals
- When it is too risky to build the entire system at once
This kind of stuff is the strength of this book in a nutshell: Just enough information and background about each topic, provided in a readable format, to make the reader conversant on the subject. The authors include 19 pages of print sources and 15 pages of Web site references broken down by chapter and subject to make it easy to find more in-depth information, should you need it.
As far as I am concerned, Quality Software Project Management is not only a must-have for any development manager or project manager, it’s also a good choice for any developer who wants to more fully understand the software development process “big picture.” The nearly $60 list price is a bit on the steep side, but for the price, you won’t find many other books on the subject that will be of greater use to both project manager and developer. My final advice is, do yourself and your career a favor and pick up this one.