How to manage quality up, and risk down. This invaluable guide to project planning and strategic decision making for software developers presents practical and realistic planning techniques to increase chances of a project delivering to time and budget. Offering clear explanations and real-world experiences, the key components of technical management are laid out as templates and checklists to assist managers with their project development.
Review By: Mark L. Johns 07/02/2002
This book successfully tackles a topic in software development that is often overlooked. It is a guidebook for identifying and accounting for issues and opportunities as they relate to bringing a software project in “on time and within budget.”
The book begins with a general overview of planning concepts, sets up a general definition of risk management by dissecting the concept into its component parts, and then reassembles them for use in the various process models (V-model, Waterfall, Evolutionary, etc.). This is followed by in-depth discussions of system quality, focusing on quality attributes and quality control to verify that the quality has been “built in.” The author advocates a five-step process for quality control, the first two steps being defining the attributes and checking procedures, followed by using the procedure, measuring the result, and finally taking any corrective actions as necessary to achieve the intended quality levels—the well-known PDCA cycle!
After laying the groundwork and educating the reader, the author dives into selecting the correct process model for your development project. He then goes deeper, looking at how to define specific tasks to make sure you are delivering a quality system, all with an eye toward risk mitigation.
The book then ties in the quality concepts of change control and project resourcing. These are extremely important pieces to deliver the system on time and within budget. Controlling scope creep and having the necessary personnel at the right times is integral to delivery and are two of the biggest areas of concern for risk mitigation.
After laying out all of the information and techniques needed to be successful on a project, the author introduces a major dose of reality to the picture: roadblocks to implementing the new methods! He lists the multitude of excuses you can expect to hear from others on the project when you propose changes. He then proceeds to give the reader some insight and tools to help alleviate the “blocks on the slipway.”
The final two chapters show you how the principles covered in the previous chapters fit together through a contrived example from the author. They begin with a request for information (RFI) or similar request and follow the steps outlined in the book to create a quality response. The final chapter consists of a step-by-step list of action items for project planning.
I found this to be a very well-written book. The author took an often-overlooked subject, risk management, dissected it into its component parts, and integrated them into the development process. The author appeared to have no preconceived notion of the knowledge level of the audience, covering the topics in enough detail to inform and educate the beginner without boring the more advanced readers.
Using this book as a guideline would be difficult without a great deal of effort. The sheer amount of information and the author’s approach of showing integrated risk management practices in almost every conceivable methodology and approach detracted from the overall quality of the work. Since the book goes so deeply into so many specific model and techniques areas, the reader may be tempted to skip forward and miss important concepts.
The extraneous material did add to the book’s appeal for me and provided reference points that pull numerous quality assurance concepts and systems together. The sheer volume of information on development models, quality assurance practices, and risk management processes makes this book a very good resource but not a “recipe” book.