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.

[1] 1 See Beck 2004.

[2] 2 See Schwaber 2002.

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 14, 710, 1213, and 1920.

    - Architect: read Chapter 1 and Practices 1, 2, 1011, 1518, and 20.

    - Analyst: read Chapter 1 and Practices 12, 710, 12, and 20.

    - Developer: read Chapter 1 and Practices 12, 59, 1112, 1418, and 20.

    - Tester: read Chapter 1 and Practices 12, 49, 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/.

Acknowledgments

The ideas and thoughts synthesized in this book have been derived from many sources. We have learned a lot from the many talented individuals inside and outside IBM who have helped shape RUP and make it work in the trenches. We have also learned from the agile community, Eclipse, and the various process communities. We especially appreciate those who challenged our ideas, helping us to evolve and sharpen what we present in this book.

This book would not have been written if not for the RUP product and its current product team: Amanda Brijpaul, Ricardo Balduino, Trevor Collins, Carlos Goti, Michael Hanford, Peter Haumer, Margaret Hedstrom, Kelli Houston, Russell Pannone, Thierry Paradan, Cecile Peraire, Dan Popescu, Michael Stern, Pawan Rewari, Jim Ruehlin, Jeff Smith, John Smith, and Gordon Schneemann.

Over the years, the Rational field teams and technical experts have accumulated a lot of experience in implementing and using RUP. We are grateful for the many perceptive review comments and ideas from these experts, who have added many insights into what does and does not work out in the trenches. We would especially like to recognize David Alvey, Kurt Bittner, Bill Cottrell, Peter Eeles, Bill Higgins, Kelli Houston, Saif Islam, Walker Royce, and John Smith.

Our external reviewers provided invaluable feedback, forcing us to rethink the structure and content of the book and hopefully helping us to create a book that is easier to read and addresses the most relevant issues for a book about agility and discipline. These insights were provided by Scott Ambler, Joshua Barnes, Lisa Crispin, Jim Dunion, Ivar Jacobson, Philippe Kruchten, Tom Poppendieck, Dan Rawsthorne, Chris Soskin, Christoph Steindl, Garth Richmond, Dave Thomas, David Trent, and Michael Vizdos.

Heath Newburn, Ted Rivera, and Scott Will assisted us through their deep expertise in testing, each contributing a practice to this book, for which we are most grateful.

Catherine Southwood and Deborah Fogel deserve special thanks for making a proper manuscript out of our scribbles, as did Mike Perrow.

Writing a book always takes more time than you think it will, and we want to thank our wives and kids, Susan and Natasha Kroll, along with Kathy, Blaise, and Courtney MacIsaac, for being patient with the many weekends and nights spent writing and rewriting the book.

Finally, many thanks to our editor, William Zobrist, for corralling us through the writing process; to Mary O'Brien, for taking on this book; and to the production and marketing teams at Addison-Wesley, notably Tyrrell Albaugh, Stephane Nakib, and Kim Silvestro, for helping us to get this book out.



Agility and Discipline Made Easy(c) Practices from OpenUP and RUP
Agility and Discipline Made Easy: Practices from OpenUP and RUP
ISBN: 0321321308
EAN: 2147483647
Year: 2006
Pages: 98

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net