Agility and Discipline Made Easy: Practices from OpenUP and RUP

Paperback (Print)
Buy New
Buy New from BN.com
$40.58
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (14) from $1.99   
  • New (9) from $36.90   
  • Used (5) from $1.99   

Overview

"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.

Read More Show Less

Product Details

  • ISBN-13: 9780321321305
  • Publisher: Addison-Wesley
  • Publication date: 6/2/2006
  • Series: Addison-Wesley Object Technology Series
  • Edition description: New Edition
  • Pages: 448
  • Product dimensions: 7.00 (w) x 9.00 (h) x 0.87 (d)

Meet the Author

Per Kroll 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.

Read More Show Less

Read an Excerpt

The goal of this book is to describe a set of well-defined practices that you and your team can start adopting today. You can choose to adopt only one practice or adopt all of them over a period of time. The practices in this book have been shown to improve the quality, predictability, speed, and/or cost of software development.

Why We Wrote This Book

During more than a decade of assisting companies in improving their software development practices and leading the development of the Rational Unified Process (RUP), we have had the opportunity to see what works and what doesn't. We have seen the rewards of successful adoption of RUP, and we have seen the challenges that projects and team members may encounter along the way. Over the last few years, we have also learned a lot from the agile movement, with its increased focus on people and low-ceremony approaches to software development. More recently, we have also been key drivers of an open source project, the Eclipse Process Framework (EPF), which includes the Open Unified Process (OpenUP)—an open-source version of the Unified Process. One of the objectives of EPF is to create a repository of industry practices, which are customizable and can be assembled into a set of out-of-the-box processes reflecting different development styles. Through all of this work, we have gained valuable experiences in what works and what doesn't, as well as how to package that knowledge into pragmatic practices that can be easily adopted.

We have found that many companies view improving their software development capabilities as a staggering task. It seems to be like eating an elephant: where do you start, and how do you go about it? The answer? You pick a tender spot and take one bite at a time. The "tender spot" is where you have the most pain; the "one bite at a time" is one or two practices, one or two software disciplines, and/or one or two tools. In other words, take "good bites." You don't want to choke on them. You want to be just a little bit hungry for the next bite.

This book describes a number of "good bites" that will allow you to start improving your software development capabilities today. You can take one bite or a larger number of bites, all based on your appetite.

We want to reduce the initial anxiety and cost associated with taking on a software improvement effort by providing an easy and unintrusive path toward improved results, without overwhelming you and your team. At the same time we want to show early results that keep the momentum going, thus maintaining the interest and commitment of everyone involved.

The practices in this book are written independently of any one specific process. Taken together, however, they do cover many key aspects of RUP and OpenUP. We believe that this book will be an asset for projects and companies interested in adopting some or all of RUP or OpenUP. Each of the practices described in this book distills knowledge from RUP, OpenUP, and other sources to provide pragmatic guidance on how to solve a particular software development problem. They help you in your software improvement effort by attacking one problem at a time. Each practice describes how OpenUP and RUP can help you adopt the practice and also references other methods such as eXtreme Programming (XP)1 and Scrum,2 so that you can understand differences and similarities in relation to other methods. This book can also be valuable for projects and companies with no interest in RUP or OpenUP. You can simply take any number of the practices in this book and adopt them on their own.

What Will You Learn from This Book?

This book will familiarize you with the following:

  • A number of key principles for software development, which have been validated by thousands of successful software projects of different sizes in a variety of industries.
  • A number of concrete practices that you and your team can adopt today that support the key principles. Each of the practices described provides information on the following categories:
- The problem the practice addresses
- How you practically go about adopting the practice
- Related practices
- Where to read more about the practice
- How to incrementally adopt practices with minimal risk, and how to leverage RUP and OpenUP
Who Should Read This Book?

This book is aimed specifically at the following readers:

  • All members of a software development team who would like to learn some practices that can be applied today.
  • Team members who would like to learn RUP or OpenUP, one practice at a time. This book does not give you an understanding of the complete RUP or OpenUP, but if you have understood the practices described in this book, you have come a long way in learning about RUP and OpenUP.
  • Managers, process engineers, and others who want to understand how key practices can be adopted in their organization, one practice at a time.
Structure and Content of This Book

The book is divided into eight chapters. Chapter 1 provides an overview of six key principles for software development that are used as a base for the structure of this book. Chapter 1 also provides an overview of RUP, OpenUP, XP, and Scrum.

Chapters 2 through 7 review each of the six key principles in turn. For each principle, we describe a number of practices that support it. Most practices can be adopted individually, allowing you to understand how to make quick improvements in your development without having to implement too much change. Chapter 8 describes how to adopt and benefit from these practices.

How to Read This Book

This book can be read using any of three approaches:

1. Read only the parts that make sense for your team. Start by reading Chapter 1. Determine which key principle you think would add the most value to you and your team. Go to the corresponding chapter. Look through the practices listed for that chapter, and read those you find of most interest. Does the problem addressed by each practice coincide with a problem you are facing, and is it worth fixing? If so, share those with your team members and get agreement to adopt the ones that pertain to your situation.

Once you have adopted the identified practices, use the same approach to identify the next set of practices to read up on. This approach is described in more detail in Chapter 8.

2. Read the parts that are relevant for your role. Note that since software development is a team effort, it is good to be at least somewhat familiar with practices for other roles. The list below identifies the chapters and practices that probably are the most applicable for each of the roles on a software team.

  • Project Manager: read Chapters 1 and 8 and Practices 1-4, 7- 10, 12-13, and 19-20.
  • Architect: read Chapter 1 and Practices 1, 2, 10-11, 15-18, and 20.
  • Analyst: read Chapter 1 and Practices 1-2, 7-10, 12, and 20.
  • Developer: read Chapter 1 and Practices 1-2, 5-9, 11-12, 14-18, and 20.
  • Tester: read Chapter 1 and Practices 1-2, 4-9, 12, and 20.

3. Read the book from start to finish to learn as much as possible about practices applicable for all members on your team.

For More Information

To learn more about or to download EPF and OpenUP, go to the Eclipse Foundation Web site at www.eclipse.org/epf/.

RUP is delivered through the product IBM Rational Method Composer (RMC). Additional information about RUP or RMC, including a data sheet and a product demo, can be obtained from IBM at http:// www.ibm.com/software/awdtools/rmc/.

Information about the Rational Software Global User Group Community can be found at http://www.rational-ug.org/index.php.

Academic institutions can contact IBM for information on a special program for including RUP in a software engineering curriculum at http://www.ibm.com/university/.

1 See Beck 2004.
2 See Schwaber 2002.

Read More Show Less

Table of Contents

Foreword xiii

Preface xv

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

OpenUP/Basic 15

Rational Unified Process (RUP) 17

eXtreme Programming (XP) 19

Scrum 21

Summary 23

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

Conclusions 360

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

Glossary 391

Bibliography 395

Index 407

Read More Show Less

Preface

The goal of this book is to describe a set of well-defined practices that you and your team can start adopting today. You can choose to adopt only one practice or adopt all of them over a period of time. The practices in this book have been shown to improve the quality, predictability, speed, and/or cost of software development.

Why We Wrote This Book

During more than a decade of assisting companies in improving their software development practices and leading the development of the Rational Unified Process (RUP), we have had the opportunity to see what works and what doesn't. We have seen the rewards of successful adoption of RUP, and we have seen the challenges that projects and team members may encounter along the way. Over the last few years, we have also learned a lot from the agile movement, with its increased focus on people and low-ceremony approaches to software development. More recently, we have also been key drivers of an open source project, the Eclipse Process Framework (EPF), which includes the Open Unified Process (OpenUP)--an open-source version of the Unified Process. One of the objectives of EPF is to create a repository of industry practices, which are customizable and can be assembled into a set of out-of-the-box processes reflecting different development styles. Through all of this work, we have gained valuable experiences in what works and what doesn't, as well as how to package that knowledge into pragmatic practices that can be easily adopted.

We have found that many companies view improving their software development capabilities as a staggering task. It seems to be like eating an elephant: where do you start, and how do you go about it? The answer? You pick a tender spot and take one bite at a time. The "tender spot" is where you have the most pain; the "one bite at a time" is one or two practices, one or two software disciplines, and/or one or two tools. In other words, take "good bites." You don't want to choke on them. You want to be just a little bit hungry for the next bite.

This book describes a number of "good bites" that will allow you to start improving your software development capabilities today. You can take one bite or a larger number of bites, all based on your appetite.

We want to reduce the initial anxiety and cost associated with taking on a software improvement effort by providing an easy and unintrusive path toward improved results, without overwhelming you and your team. At the same time we want to show early results that keep the momentum going, thus maintaining the interest and commitment of everyone involved.

The practices in this book are written independently of any one specific process. Taken together, however, they do cover many key aspects of RUP and OpenUP. We believe that this book will be an asset for projects and companies interested in adopting some or all of RUP or OpenUP. Each of the practices described in this book distills knowledge from RUP, OpenUP, and other sources to provide pragmatic guidance on how to solve a particular software development problem. They help you in your software improvement effort by attacking one problem at a time. Each practice describes how OpenUP and RUP can help you adopt the practice and also references other methods such as eXtreme Programming (XP)1 and Scrum,2 so that you can understand differences and similarities in relation to other methods. This book can also be valuable for projects and companies with no interest in RUP or OpenUP. You can simply take any number of the practices in this book and adopt them on their own.

What Will You Learn from This Book?

This book will familiarize you with the following:

  • A number of key principles for software development, which have been validated by thousands of successful software projects of different sizes in a variety of industries.
  • A number of concrete practices that you and your team can adopt today that support the key principles. Each of the practices described provides information on the following categories:
- The problem the practice addresses

- How you practically go about adopting the practice

- Related practices

- Where to read more about the practice

- How to incrementally adopt practices with minimal risk, and how to leverage RUP and OpenUP

Who Should Read This Book?

This book is aimed specifically at the following readers:

  • All members of a software development team who would like to learn some practices that can be applied today.
  • Team members who would like to learn RUP or OpenUP, one practice at a time. This book does not give you an understanding of the complete RUP or OpenUP, but if you have understood the practices described in this book, you have come a long way in learning about RUP and OpenUP.
  • Managers, process engineers, and others who want to understand how key practices can be adopted in their organization, one practice at a time.

Structure and Content of This Book

The book is divided into eight chapters. Chapter 1 provides an overview of six key principles for software development that are used as a base for the structure of this book. Chapter 1 also provides an overview of RUP, OpenUP, XP, and Scrum.

Chapters 2 through 7 review each of the six key principles in turn. For each principle, we describe a number of practices that support it. Most practices can be adopted individually, allowing you to understand how to make quick improvements in your development without having to implement too much change. Chapter 8 describes how to adopt and benefit from these practices.

How to Read This Book

This book can be read using any of three approaches:

1. Read only the parts that make sense for your team. Start by reading Chapter 1. Determine which key principle you think would add the most value to you and your team. Go to the corresponding chapter. Look through the practices listed for that chapter, and read those you find of most interest. Does the problem addressed by each practice coincide with a problem you are facing, and is it worth fixing? If so, share those with your team members and get agreement to adopt the ones that pertain to your situation.

Once you have adopted the identified practices, use the same approach to identify the next set of practices to read up on. This approach is described in more detail in Chapter 8.

2. Read the parts that are relevant for your role. Note that since software development is a team effort, it is good to be at least somewhat familiar with practices for other roles. The list below identifies the chapters and practices that probably are the most applicable for each of the roles on a software team.

  • Project Manager: read Chapters 1 and 8 and Practices 1-4, 7- 10, 12-13, and 19-20.
  • Architect: read Chapter 1 and Practices 1, 2, 10-11, 15-18, and 20.
  • Analyst: read Chapter 1 and Practices 1-2, 7-10, 12, and 20.
  • Developer: read Chapter 1 and Practices 1-2, 5-9, 11-12, 14-18, and 20.
  • Tester: read Chapter 1 and Practices 1-2, 4-9, 12, and 20.

3. Read the book from start to finish to learn as much as possible about practices applicable for all members on your team.

For More Information

To learn more about or to download EPF and OpenUP, go to the Eclipse Foundation Web site at www.eclipse.org/epf/.

RUP is delivered through the product IBM Rational Method Composer (RMC). Additional information about RUP or RMC, including a data sheet and a product demo, can be obtained from IBM at http:// www.ibm.com/software/awdtools/rmc/.

Information about the Rational Software Global User Group Community can be found at http://www.rational-ug.org/index.php.

Academic institutions can contact IBM for information on a special program for including RUP in a software engineering curriculum at http://www.ibm.com/university/.

1 See Beck 2004.
2 See Schwaber 2002.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)