REVIEW - The Unified Software Development Process

Title:

The Unified Software Development Process

Author:

Ivar Jacobson, Grady Booch, James Rumbaugh

ISBN:

9780201571691

Publisher:

Addison-Wesley (1999)

Pages:

465pp

Reviewer:

Richard Blundell

Reviewed:

December 1999

Rating:

★★★☆☆

If you are embarking upon a UP project, or are looking for a process to use for your next project, this book will probably contain all the process-specific information that you will need and more.

This is the last published of the three books by the Three Amigos - originators of the UML and the Unified Process (UP), and is similar in format and size to the earlier two (the UML User Guide and the UML Reference Manual). It is hardback, well edited and nicely presented, with typefaces that are easy on the eye. It contains all you might want to know about the official Unified software process, sometimes in excruciating detail, in three main parts plus appendices.

The first part is a hundred-page bird's-eye-view of the Unified Process, covering the obligatory 'why you need a process,' and descriptions and justifications of each of the buzzwords in the UP one-liner: 'use-case driven, architecture-centric, iterative and incremental.' This part presents a good overview of UP.

Part two contains six chapters on the five core workflows - Requirements, Analysis, Design, Implementation and Test - that are repeated in each iteration of development. Each workflow is broken down into different orthogonal views - the artefacts that the workflow generates, the workers who generate them, and the key activities that make up the workflow. You can thus look up any of these grouped according to one of the others, all for each workflow. The workers include managers as well as analysts, developers, architects, testers, etc., each of whom can therefore see the project from their own perspective. As long as you are following UP quite closely, these chapters will probably be valuable as you are working through each workflow in each iteration. If you are not, however, I do not recommend this section for bedtime reading!

Part three consists of five chapters covering the four main phases of a project - Inception, Elaboration, Construction and Transition, and a short summary chapter on how to convert to UP depending on what you are doing at the moment. These chapters, proceeding through the project lifecycle, give a good idea of what gets done when. Each chapter states the emphasis of the corresponding phase, describes the planning required for the phase, and lists the key workflows again explaining which parts of those workflows are performed at each step. It mentions how this all fits in with the business case for the project and what the key deliverables are for each phase, and shows how to assess the project at the end of each phase.

Some of the key themes of UP are condensed in these headings from the final chapter: get the requirements right, get the architecture right, use components, think and communicate in UML, iterate, and manage risks.

If you are embarking upon a UP project, or are looking for a process to use for your next project, this book will probably contain all the process-specific information that you will need and more. If you just want a briefer overview of UP, Philippe Kruchten's book might be worth a look, but that is likely to be less authoritative, and won't go into so much depth.


Book cover image courtesy of Open Library.