Home

 

Rational Unified Process

A software development process provides a structured approach to the building, deploying, and maintenance of software. A process provides an answer to the question: Who is doing what and when. Many different processes are currently in use, and many share similar characteristics. A popular software development process, which is supported by Rational Application Developer v7.5, is the Rational Unified Process (RUP).

RUP is a software development process that provides best practice and guidance for successful software development. It describes a set of tasks, work products (artifacts), roles, and responsibilities, which can be applied to a software development project to ensure the production of high quality software that meets the client's requirements on schedule and within budget.

The Rational Unified Process combines the following commonly accepted six best practices into a cohesive and well documented process description:

Adapt the process. RUP can be used for projects large and small. It is important to use the parts of RUP that are appropriate to the project being undertaken.

Balance competing stakeholder priorities. When undertaking software development, the needs of stakeholders must always be considered. It is however important to balance the needs of stakeholders, because often their needs are in conflict and must be resolved.

Collaborate across teams. Because most software systems are complex, software development is undertaken by teams of developers rather than by a single developer working alone. It is important that a proper collaborative environment is in place to support adequate communication between team members.

Demonstrate value iteratively. RUP is an iterative software development process. An iterative development process can deal with the inevitable requirements changes that occur while development is taking place and allows the changes to be accommodated. Risk reduction is one of the main benefits of working iteratively.

Elevate level of abstraction. Modern software systems are inherently complex. Working at a high level of abstraction can help to minimize complexity. Software reuse, modeling, and development of a stable architecture as soon as possible can all help with this.

Focus continuously on quality. The production of high quality software is one of the main reasons that a software development process is followed. Dealing with issues of quality at some specific point during the process, perhaps at the end of development, does not work. Quality is something that must be considered throughout development. The fact that one of the key principles of RUP is that software be developed iteratively helps this to be achieved.

Note: The six tried and tested best practices that underpin RUP have evolved over the years. The set presented here is the culmination of that evolution.

The diagram shown in Figure | -1 is the RUP life cycle diagram. The diagram shows the RUP Disciplines and the RUP Phases.

Figure 6-1 Overview of the Rational Unified Process

ibm.com/redbooks