This wonderful text is full of insights, drawn from experience, on planning, organizing, estimating, monitoring, and controlling software development projects. Successful software project management must deal with the challenges of changing requirements, evolving technology, early and ongoing delivery of stakeholder and business value, integration of disciplines and roles, and the identification of problems and risks as early as possible. Iterative software development is an approach that organizes a project, using evolutions, phases, and iterations, to deal with these challenges. In this context, the text presents a software management approach using layers, releases, and increments to plan and control the iterative development.
The text is well organized. Part 1 describes iterative development using the rational life cycle phases. Part 2 describes planning at each layer (the project layer, the evolution and phase layer, and the iteration layer), with each layer adding more detail to the planning. Part 2 also discusses assessments for the iterations, phases, and project. Examples are used to illustrate layered management, and the appendices include an introduction to use cases for requirements and development, role definitions, plan outlines, assessment outlines, checklists, and additional examples.
This book could serve as an excellent text for university and continuing education software engineering and project management courses. There is useful repetition throughout, concepts are nicely summarized in tables, and the chapters are flexible and can be adapted to different orderings of the material. Key references appear in footnotes throughout the text, but a comprehensive list of references is lacking.
The text will enrich the knowledge of project managers, software managers, development leads, and process leads, and help them control their projects to better provide business and stakeholder value. It contains information that every software manager should know, provides insight that every software manager will want to know, and provides an approach that every manager can use.