The Rational Unified Process is a software engineering process developed and marketed originally by Rational Software, and now IBM. It is a disciplined approach to assigning and managing tasks and responsibilities in a development organization. The goal of this process is to produce, within a predictable schedule and budget, high-quality software that meets the needs of its end users.
The Rational Unified Process captures many of the best practices in modern software development and presents them in a tailorable form that is suitable for a wide range of projects and organizations. The Rational Unified Process delivers these best practices to the project team online in a detailed, practical form.
This book provides an introduction to the concepts, structure, contents, and motivation of the Rational Unified Process.
Goals of This Book
In this book, you will learn what the Rational Unified Process is and what it is not; master the vocabulary of the Rational Unified Process and understand its structure; develop an appreciation for the best practices that we have synthesized in this process; and understand how the Rational Unified Process can give you the guidance you need for your specific responsibility in a project.
This book is not the complete Rational Unified Process. Rather, it is a small subset to introduce the RUP. In the full Rational Unified Process you will find the detailed guidance needed to carry out your work. The full Rational Unified Process—the online knowledge base—is a product that can be obtained from IBM.
This book makes numerous references to the Unified Modeling Language (UML), but it is not an introduction to the UML. That is the focus of two other books: The Unified Modeling Language User Guide (Addison-Wesley, 1999) and The Unified Modeling Language Reference Manual (Addison-Wesley, 1999).
This introductory book speaks about modeling and object-oriented techniques, but it is not a design method, and it does not teach you how to model. Detailed steps and guidance on the various techniques that are embedded in the Rational Unified Process can be found only in the process product.
Several chapters of this book discuss project management issues. They describe aspects of planning an iterative development, managing risks, and so on. This book, however, is by no means a complete manual on project management and software economics. For more information, we refer you to the book Software Project Management: A Unified Framework (Addison-Wesley, 1998).
The Rational Unified Process is a specific and detailed instance of a more generic process described in the textbook The Unified Software Development Process (Addison-Wesley, 1998). who should read this book?
The Rational Unified Process, An Introduction, Third Edition, is written for a wide range of people involved in software development: project managers, developers, quality engineers, process engineers, method specialists, system engineers, and analysts.
This book is relevant especially to members of an organization that has adopted the Rational Unified Process or is about to adopt it. It is likely that an organization will tailor the Rational Unified Process to suit its needs, but the core process described in this book should remain the common denominator across all instances of the Rational Unified Process.
This book will be a useful companion to students taking one of the many professional education courses delivered by IBM Rational Software and its partners in industry and academia. It provides a general context for the specific topics covered by the course.
We assume that you have a basic understanding of software development. It is not necessary that you have specific knowledge of a programming language, of an object-oriented method, or of the Unified Modeling Language.
How to Use This Book
Software professionals who are working in an organization that has adopted the Rational Unified Process, in whole or part, should read the book linearly. The chapters have been organized in a natural progression.
Project managers can limit their reading to Chapters 1, 2, 4, and 7, which provide an introduction to the implications of an iterative, risk-driven development process. Process engineers or methodologists may have to tailor and install the Rational Unified Process in their organizations. They should carefully study Chapters 3, 14, and 17, which describe the process structure and the overall approach to implementing the Rational Unified Process.
Organization and Special Features
The book has two parts.
Part I describes the process, its context, its history, its structure, and its software development lifecycle. It describes some of the key features that differentiate the Rational Unified Process from other software development processes:
Chapter 1: Software Development Best Practices
Chapter 2: The Rational Unified Process
Chapter 3: Static Structure: Process Description
Chapter 4: Dynamic Structure: Iterative Development
Chapter 5: An Architecture-Centric Process
Chapter 6: A Use-Case-Driven Process
Part II gives an overview of the various components of process, or disciplines. There is one chapter for each discipline.
Chapter 7: The Project Management Discipline
Chapter 8: The Business Modeling Discipline
Chapter 9: The Requirements Discipline
Chapter 10: The Analysis and Design Discipline
Chapter 11: The Implementation Discipline
Chapter 12: The Test Discipline
Chapter 13: The Configuration and Change Management Discipline
Chapter 14: The Environment Discipline
Chapter 15: The Deployment Discipline
Chapter 16: Typical Iteration Plans
Chapter 17: Implementing the Rational Unified Process
Most discipline chapters are organized into six sections:
- Purpose of the discipline
- Definitions and key concepts
- Roles and artifacts
- A typical workflow: an overview of the activities
- Tool support
Two appendixes summarize all the roles of the process and artifacts (the work products of the process) that are introduced in Chapters 7 through 15. A list of acronyms and glossary of common terms are provided, as is an annotated bibliography.
For More Information
Information about the Rational Unified Process, such as a data sheet and a downloadable demo version, can be obtained from IBM, Rational Software via the Internet at www.rational.com/rup/.
If you are already using the Rational Unified Process, additional information is available from the Rational Developers Network, which has extra goodies, updates, and links to partners. The hyperlink to the RDN is in the online version of RUP.
Academic institutions can contact IBM for information on a special program for including the Rational Unified Process in the curriculum.
The second edition of The Rational Unified Process: An Introduction made the book current with the Rational Unified Process 2000.
This third edition of The Rational Unified Process: An Introduction makes the book current with the Rational Unified Process 2003. This edition implements several changes of terminology, some redesign of parts of the process (in particular, the test and environment disciplines), as well as the further development of RUP as a process framework. New elements are introduced--the concept of process components and process plug-ins, a new tool set comprising RUP Modeler, RUP Organizer, RUP Builder, and MyRUP, and a separate Process Engineering Process. It incorporates the feedback of many readers and acknowledges the acquisition of Rational Software by IBM.
The Rational Unified Process reflects the wisdom of a great many software professionals from Rational Software and elsewhere. The history of the process can be found in Chapter 2. But putting together a book, even as small and modest as this one, required the dedicated effort of a slate of people, whom I would like to recognize here.
Early members of the Process Development Group assembled the Rational Unified Process and contributed to this introduction. Stefan Bylund, then Kurt Bittner, and finally Bruce Macisaac contributed to the analysis and design chapter. Maria Ericsson developed the business engineering and requirements management aspect with Leslee Probasco. The test part was started by Bruce Katz and then completely redesigned by Paul Szymkowiak. John Smith expanded the project management aspects for RUP 2000. Jas Madhur contributed the ideas on configuration management, change management, and deployment. Hakan Dyrhage contributed many ideas to the organization and structure of the process and to its implementation and configuration. Margaret Chan was responsible for the product integration and for the assembly of most of the artwork in this book with Susan Buie. Sigurd Hopen developed the PEP with the help of Bjoern Gustafsson.
Per Kroll is the manager of the development group, Mike Barnard the product manager. Alfredo Bencomo, Chinh Vo, Philip Denno, Lars Jenzer, Glenys Macisaac, and Fionna Chong developed the product infrastructure. And Debbie Gray is the devoted administrative assistant of a team spread across nine time zones.
The Rational Unified Process and this book benefited over the past 8 years from the reviews and ideas of Stefan Ahlqvist, Dave Bernstein, Grady Booch, Murray Cantor, Geoff Clemm, Catherine Connor, Mike Devlin, Christian Ehrenborg, Ian Gavin, Christina Gisselberg, Sam Guckenheimer, Bjoern Gustafsson, Matt Herdon, Ivar Jacobson, Paer Jansson, Ron Krubek, Dean Leffingwell, Andrew Lyons, Bruce Malasky, Roger Oberg, Gary Pollice, Terri Quatrani, Walker Royce, Jim Rumbaugh, Ian Spence, John Smith, and Brian White.
We are very grateful to Grady Booch for writing Chapter 1. Special thanks go to the Rational field, members of our Chat_RUP list, and our users, members of the RUP_Forum, for their feedback, and contributions. And finally many thanks to our editor Mary O'Brien, our former editor J. Carter Shanklin, as well as Brenda Mulligan, Amy Fleischer and her team, and all the staff at Addison-Wesley for getting this book out as quickly and smoothly as they did.Philippe Kruchten
Vancouver, B.C., Canada