Synopses & Reviews
"The Japanese samurai Musashi wrote: 'One can win with the long sword, and one can win with the short sword. Whatever the weapon, there is a time and situation in which it is appropriate.'
"Similarly, we have the long RUP and the short RUP, and all sizes in between. RUP is not a rigid, static recipe, and it evolves with the field and the practitioners, as demonstrated in this new book full of wisdom to illustrate further the liveliness of a process adopted by so many organizations around the world. Bravo!"
--Philippe Kruchten, Professor, University of British Columbia
"The Unified Process and its practices have had, and continue to have, a great impact on the software industry. This book is a refreshing new look at some of the principles underlying the Unified Process. It is full of practical guidance for people who want to start, or increase, their adoption of proven practices. No matter where you are today in terms of software maturity, you can start improving tomorrow."
--Ivar Jacobson, Ivar Jacobson Consulting
"Kroll and MacIsaac have written a must-have book. It is well organized with new principles for software development. I encounter many books I consider valuable; I consider this one indispensable, especially as it includes over 20 concrete best practices. If you are interested in making your software development shop a better one, read this book!"
--Ricardo R. Garcia, President, Global Rational User Group Council, www.rational-ug.org/index.php
"Agile software development is real, it works, and it's here to stay. Now is the time to come up to speed on agile best practices for the Unified Process, and this book provides a great starting point."
--Scott W. Ambler, practice leader, Agile Modeling
"IBM and the global economy have become increasingly dependent on software over the last decade, and our industry has evolved some discriminating best practices. Per and Bruce have captured the principles and practices of success in this concise book; a must for executives, project managers, and practitioners. These ideas are progressive, but they strike the right balance between agility and governance and will form the foundation for successful systems and software developers for a long time."
--Walker Royce, Vice President, IBM Software Services-Rational
"Finally, the RUP is presented in digestible, byte-size pieces. Kroll and MacIsaac effectively describe a set of practices that can be adopted in a low-ceremony, ad hoc fashion, suited to the culture of the more agile project team, while allowing them to understand how to scale their process as needed."
--Dean Leffingwell, author and software business advisor and executive
"This text fills an important gap in the knowledge-base of our industry: providing agile practices in the proven, scalable framework of the Unified Process. With each practice able to be throttled to the unique context of a development organization, Kroll and MacIsaac provide software teams with the ability to balance agility and discipline as appropriate for their specific needs."
--Brian G. Lyons, CTO, Number Six Software, Inc.
In Agility and Discipline Made Easy , Rational Unified Process (RUP) and Open Unified Process (OpenUP) experts Per Kroll and Bruce MacIsaac share twenty well-defined best practices that you and your team can start adopting today to improve the agility, predictability, speed, and cost of software development.
Kroll and MacIsaac outline proven principles for software development, and supply a number of supporting practices for each. You'll learn what problems each practice addresses and how you can best leverage RUP and OpenUP (an open-source version of the Unified Process) to make the practice work for you. You'll find proactive, prescriptive guidance on how to adopt the practices with minimal risk and implement as much or as little of RUP or OpenUP as you want.
Learn how to apply sample practices from the Unified Process so you can
- Execute your project in iterations
- Embrace and manage change
- Test your own code
- Describe requirements from the user perspective
- Architect with components and services
- Model key perspectives
Whether you are interested in agile or disciplined development using RUP, OpenUP, or other agile processes, this book will help you reduce the anxiety and cost associated with software improvement by providing an easy, non-intrusive path toward improved results--without overwhelming you and your team.
About the Author
manages the development of RUP and is responsible for IBM Rational process strategy. He launched and is the project lead for the open source process initiative Eclipse Process Framework (EPF). In addition to his highly acclaimed books, Per has written for a variety of trade magazines.
Bruce MacIsaac is technical lead for the RUP content development team at IBM and oversees IBM's contributions to OpenUP. He has many years of experience as a software developer, technical lead, and manager of small to large software teams.
Table of Contents
About the Authors xxi
Chapter 1: Leveraging Key Development Principles 1
Where Do the Practices Come From? 1
Using Practice Descriptions 3
Adopting the Practices: Iterative Development, Levels of Ceremony, and Agility 4
Key Development Principles 9
Unified Process Lifecycle 12
Rational Unified Process (RUP) 17
eXtreme Programming (XP) 19
Chapter 2: Demonstrate Value Iteratively 25
Practice 1 Manage Risk 29
Practice 2 Execute Your Project in Iterations 42
Practice 3 Embrace and Manage Change 60
Practice 4 Measure Progress Objectively 77
Chapter 3: Focus Continuously on Quality 91
Practice 5 Test Your Own Code 95
Practice 6 Leverage Test Automation Appropriately 115
Practice 7 Everyone Owns the Product! 132
Chapter 4: Balance Stakeholder Priorities 151
Practice 8 Understand the Domain 155
Practice 9 Describe Requirements from the User Perspective 170
Practice 10 Prioritize Requirements for Implementation 186
Practice 11 Leverage Legacy Systems 201
Chapter 5: Collaborate Across Teams 213
Practice 12 Build High-Performance Teams 217
Practice 13 Organize Around the Architecture 232
Practice 14 Manage Versions 245
Chapter 6: Elevate the Level of Abstraction 259
Practice 15 Leverage Patterns 263
Practice 16 Architect with Components and Services 275
Practice 17 Actively Promote Reuse 288
Practice 18 Model Key Perspectives 301
Chapter 7: Adapt the Process 313
Practice 19 Rightsize Your Process 316
Practice 20 Continuously Reevaluate What You Do 329
Chapter 8: Making Practical Use of the Best Practices 345
Which Practices Should I Adopt First? 345
Start with the Basics 347
Adopt Related Practices 353
How Can RUP and EPF Help Me? 357
Choosing the Right Pilot Project 358
Appendix A: The Eclipse Process Framework (EPF) 361
Why EPF? 361
What Is EPF? 362
Potential Users of EPF 363
Extensible Process Content 366
Software Process Engineering Metamodel 368
Extensible Process Engineering Tools 374
Participating in the Development of EPF 376
Appendix B: IBM Rational Method Composer (RMC) 379
Process for a Variety of Projects 380
Process for the Enterprise 384
How the Practitioner Uses RMC 385
How a Project Manager Uses RMC 385
How Process Managers Use RMC 387
Guiding Principles for Evolving IBM Rational Method Composer 390