|New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About| |
Keywords: RUP, Rational Rose, Agile, software methodology Title: Rational Unified Process Made Easy Author: Per Kroll and Phillipe Kruchten Publisher: Addison-Wesley ISBN: 0321166094
Media: Book Level: Introductory/Intermediate Verdict: Recommended |
One of the prime factors in the increasing popularity of Agile development methods, is a reaction against 'heavy-weight' methodologies and tools. And, in the eyes of many developers, the Rational Unified Process (RUP) stands accused of being the heaviest of the heavy-weights. It is the charge that Per Kroll and Phillipe Kruchten seek to address in this Practitioner's Guide to RUP. This emphasis is important, as the authors make plain, it is possible for companies to adopt 'too much' of the RUP. The book, therefore, seeks not just to introduce the concepts and the tools of RUP, but also to give guidance in what not to adopt, what to adapt and how to configure the process and the tools for your specific circumstances.
Organised into four parts, the book begins with an introduction to the spirit of RUP. It details not just the history of its development, but also the underlying principles, how it relates to other processes (including Agile methodologies), and finally, it presents a stripped down use of RUP for a single person project of one week. This example strips RUP of 'ceremony', and is presented as a light-weight methodology that focuses clearly on the risks involved in even the simplest of projects. The second part of the book goes into more detail by looking at the four phases in an RUP project: Inception, Elaboration, Construction and Transition. The relationship between these phases and iterative development are explored. Also there is an emphasis on the objectives of the phases, pointing out what it is that each phase is aiming at. The RUP product is detailed in the third section of the book. Here the authors look at the tools and how they can be reconfigured. The aim here is to help organisations adopting the RUP to adapt it to their requirements. Again, the authors take great pains to emphasise that the RUP does not need to be a monster that slows things down. With guidance they believe that the process can be streamlined to meet the needs of developers and managers. Picking up on another of Agile's strengths, they also make the point that the process need not be cast forever in stone. An organisation's implementation of RUP can, and should, evolve over time. The final part of the book looks at the roles for the different players in software development projects: project managers, analysts, architects, developers and testers. Here the RUP is examined in terms of these roles, looking at the key activities the process demands. Overall the book does provide a good general introduction to the RUP, particularly to those people who are concerned that the process is too large, bureaucratic or stifling. The writing is enjoyably direct, and the anecdotes liven up the proceedings. The guidelines that the authors recommend are generally very useful and are likely to give food for thought to many. If you are looking for a good place to start with the RUP that this is one to consider.