Rational Unified Process (RUP)
RUP extends EPF with additional process content.
RUP is a widely adopted process framework used by tens of thousands of projects ranging from teams of two to teams with hundreds of members, in a broad variety of industries worldwide. It extends EPF with a large volume of additional process content, allowing development teams to scale their process to do the following:
- Carry out distributed or large-scale development requiring more ceremony, such as requirements traceability, analysis models, model-driven architecture (MDA), or comprehensive testing of load and performance.
- Develop systems using IBM tools, providing specific guidance on relevant technologies such as J2EE and .NET, and using IBM and partner tools.
- Develop systems adhering to industry standards such as ISO 9001, SEI CMMI, or SOX.
- Scale from project-oriented processes to enterprise processes, such as program and portfolio management; systems engineering; enterprise reuse; business modeling and simulation; or enterprise-scale SOA.
RUP provides a collection of processes that can either be used "out of the box" or further customized.
RUP follows the Unified Process lifecycle and adheres to the key principles described above. RUP emphasizes the importance of adapting the process to the needs of your project. Rather than providing one process, such as OpenUP/Basic, RUP provides a collection of processes that can either be used out-of-the-box or further customized. These processes are variations built on OpenUP/Basic and include processes for Large-Scale Custom Application Development, Commercial-Off-The-Shelf (COTS) Packaged Delivery (see Figure 1.6), Service-Oriented Architecture Development, Systems Engineering, Small Projects, Maintenance Projects, Portfolio Management, and so on. More processes are continually being added. RUP allows you to customize these processes or build your own process through the product IBM Rational Method Composer, which is the delivery vehicle for RUP. The product is described in more detail in Appendix B.
Figure 1.6 RUP for Commercial-Off-The-Shelf (COTS) Packaged Application Delivery.
RUP provides many out-of-the-box processes for different types of projects, including COTS packaged application delivery. For COTS development, RUP provides specific guidance on how to evaluate commercial components or packages, how to deal with a Request for Information (RFI) and a Request for Proposals (RFP), and how to make trade-offs to balance the many conflicts between stakeholder needs, architecture, program risk, and market concerns.
One of the key ideas behind RUP is that a process is much more valuable when automated by tools. Therefore, a fundamental aspect of RUP is the tight integration with developer tools through context-sensitive process guidance available within the tools and tool-specific guidance available in the process, which makes RUP an integral part of the development environment. RUP is also tightly integrated with tools that allow teams to instantiate their process, enabling adaptive planning of projects and collaborative software development (see Appendix B for more information). Even though RUP is integrated with IBM and other tools, it does not require the use of any one set of tools.
RUP is described in a variety of white papers and books.21 The most comprehensive information can be found in the Rational Method Composer (RMC) product, which contains detailed guidelines, examples, and templates covering the full project lifecycle. However, RUP underwent extensive modernization in 2005, and material or product versions predating 2006 may use different terminology.