Where Do the Practices Come From?


We have chosen the best practices in this book based on principles gleaned from a huge number of successful projects and distilled into a few simple guidelines that we call key development principles (see the section Key Development Principles later in this chapter). Grouping the practices under these key development principles allows you to identify proven principles that address the issues your project is facing and review the practices supporting each principle to see how you can make progress toward adopting the principle. We will discuss the topic of adoption in more detail in Chapter 8, "Making Practical Use of the Best Practices."

These practices borrow from a large number of iterative and agile processes, all sharing a focus on iterative development; continuous integration; early and continuous testing; addressing customer needs; people and team collaboration; and minimizing process overhead.

OpenUp is an open-source version of the Unified Process.


The practices capture much of the thought that was formative in the creation of the Open Unified Process (OpenUP), especially its most agile and lightweight form, OpenUP/Basic, targeting smaller and collocated teams interested in agile and iterative development. OpenUP is a part of the Eclipse Process Framework[1] (EPF), an open source process framework developed within the Eclipse open source organization.[2] It provides best practices from a variety of software development thought leaders and the broader software development community that cover a diverse set of perspectives and development needs. Some of the practices in the EPF may differ from the ones you find in this book, because they were produced by people with a different view of how to develop software or targeted a different type of project. This is one of EPF's strengths: allowing diversity of ideas, while encouraging learning from each other, thereby driving unification and evolution of best practices. We believe that reading this book will help you gain insights into key aspects of OpenUP/Basic as well as EPF; see the section OpenUP/Basic later in this chapter and Appendix A for more detail.

[1] www.eclipse.org/epf/.

[2] www.eclipse.org.

EPF is an open source process framework.


RUP is a continually evolving process framework that extends EPF.


The key development practices also have a strong connection to RUP. RUP is a continually evolving process framework. It started in 1987 as the Objectory Process[3], a use-case-driven and object-oriented process, and in 1996 was integrated with the Rational Process[4], an iterative and architecture-centric process. Since 1996, it has integrated best practices from a broad set of sources, including processes for testing, configuration management, agile development, service-oriented architecture, and business engineering[5] RUP extends EPF with in-depth process content for specific technologies and tools, such as J2EE and IBM tools; for specific domains, such as packaged application development, systems engineering, and program management; and for process maturity standards and frameworks, such as SEI CMMI.

[3] See Jacobson 1992.

[4] See Devlin 1995.

[5] See Appendix B and Kroll 2001 for the history of RUP.

Some of the practices in this book are more appropriate for projects that need to follow a higher-ceremony process, making them better reflect RUP than the lighter-weight guidance in EPF. We believe that RUP users will find the practices in this book valuable, because they articulate a clear set of principles for developing software. Unfortunately, too many RUP users do not adhere to these principles (see Key Development Principles later in this chapter) and so misinterpret the underlying spirit of RUP.

XP, Scrum, Agile Modeling, Crystal, Agile Data Method, and DSDM have influenced this book.


Other iterative and agile processes, including eXtreme Programming (XP),[6] Scrum,[7] Agile Modeling,[8] Crystal,[9] Agile Data Method,[10] and Dynamic Systems Development Method (DSDM)[11] have influenced the practices in this book, just as they have influenced RUP and OpenUP.

[6] See Beck 2004.

[7] See Schwaber 2002.

[8] See Ambler 2002.

[9] See Cockburn 2002

[10] See Ambler 2003.

[11] See Stapleton 2003.



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