The Rational Unified Process (RUP) from the Rational Company is an engineering process based on “best practices” in the software development business. Some of the “best practices” are iterative software development, requirement management, change control and quality assessment. By providing this process with a massive knowledge base it is possible to increase productivity in a project and ensure that every project member understands how software is developed and avoid person-dependant processes. The Rational Unified Process enforces the use of the Unified Modelling Language (UML), which leads to clear communication of requirements, architecture and design.
RUP suits all kinds of organizations and can be tailored after specific needs. The end goal of RUP is to produce quality software within a predictable schedule and budget. The process is built around two dimensions, time and content as shown in the Figure below.
The Iterative Model graph shows how the process is structured along two dimensions.
The Time Dimension
Development of software can be divided into phases where the focus is on different issues in the different phases. Each phase is, dependent on the size and type of project, divided into one or more iterations. By using the iterative approach a project can get more manageable changes, better quality, mitigate risks earlier and get more knowledge about the problem domain as compared to, for example the waterfall process which basically only runs one iteration. At the end of each phase a number of artefacts should have been produced that provides information about how to proceed with the project. The four phases RUP defines are:
The
Content dimension
In a project the members have different roles. To ensure that each person in his role is aware of what he is expected to deliver a number of workflows are defined in RUP. These workflows describe sequences of activities that produce artefacts in the correct order and that are aligned, synchronized to the activities in other workflows.

The core "engineering" workflows:
The core "supporting" workflows: