The Project Manager’s Guide to Software Engineering’s Best Practices
(From the back cover) Since the earliest days of the computer industry, managing a software project has been a complex and demanding activity. While the technical content of software products and the technical methods used to build them have changed over time, the fundamental issues that determine the success or failure of software projects have remained fairly constant. The contents of this book, together with the underlying IEEE Standards, are dedicated to helping the reader in the ongoing task of producing quality software products in a conventional manner.
This book, containing all original material, is built on the proposition that the IEEE Software Engineering Standards capture many of the fundamental "best practices" of software project management. It will assist the reader in successfully applying those standards to their projects and their organization. To meet this goal, the authors discuss and elaborate on the standards covering these three key management areas:
Software systems engineering
Process for developing software products
Planning and control of software project activities
Review By: Jan A. Scott, QB Software, Inc.
02/25/2004"The Project Manager's Guide to Software Engineering's Best Practices" contains a comprehensive list of all the documents and processes needed to develop a software system and to manage a software system project according to the IEEE standards. The book is organized into three sections: Software Systems Engineering, Process Management and Control, and Project Planning and Management.
Software Systems Engineering gives an overview of the documents and processes needed in the software development effort and discusses in detail the Software Requirements Specification, user documentation required, and the processes of verification and validation.
Process Management and Control talks about the key processes of the software lifecycle, configuration management, QA, software reviews, and process improvement.
Project Planning and Management discusses the classic elements of project management such as costs, schedules, risks, and metrics.
This is not a how-to book. The documents and processes are described in good detail, but there is precious little information about how to implement the processes described. For example, the authors state repeatedly how important configuration management is to every software development effort. They discuss the contents of a configuration management plan and the duties of a Configuration Control Board; however, there is no discussion about how to get buy-in from management to fund these important activities or how to make a Configuration Control Board effective.
This is a book describing classic software development and classic project management. Although it describes software development lifecycles other than the waterfall method, it doesn't discuss rapid application development (RAD) techniques or some of the more recent development methodologies. A reader who has little project management experience could be easily intimidated by the huge number of documents that seem to be needed to conform to best practices. Perhaps because of the authors' backgrounds working for the government and for large companies, the book is focused around the management of very large, formal projects. The authors do make passing references to smaller projects, on which some documents may be omitted or combined.
As a hands-on project manager with lots of practical experience but little formal training, I found this book to be most interesting and useful. It provides the reader with a checklist of documents to be prepared; and for each document, it lists the recommended contents. There are plenty of references to further information. At the end of each chapter, there is a listing of the applicable IEEE standards and additional reading material. There are many website references throughout the text.
The information is logically laid out with definitions that are clear and easy to understand. The authors give precise definitions of terms. For example, in the chapter on software reviews, walkthroughs, inspections, and technical reviews each are defined. Audits are differentiated clearly from reviews. The one difficulty I had was with the liberal use of acronyms, which I had to write down with their meanings as they were introduced.
Perhaps because I am a project manager, I found the section on project planning and management to be the most useful. There is a very good chapter on estimating costs. In the chapter on metrics, there are several tables listing metrics used by the government and several other large companies to report on their software projects. These two chapters alone are worth the price of the book.