On Java Development

All things related to Java development, from the perspective of a caveman.

An Introduction to the Rational Unified Process

without comments


This post gives a brief introduction to software development using the IBM’s Rational Unified Process.

Unlike the waterfall methodology, which has its origins in the manufacturing and construction industries, the Rational Unified Process (RUP), created by the Rational Software Corporation, follows an iterative path to software development.

RUP encapsulates best practices identified as the drivers that help improve the quality and predictability of software development. These practices are:

  • Develop iteratively, with risk as the primary iteration driver [1]
  • Manage requirements
  • Employ a component-based architecture
  • Model software visually (by using UML [2])
  • Continuously verify quality (Unit testing using JUnit [3])
  • Control changes (Change management system [4])

RUP’s iterative process embraces the following principles:

  • Attack major risks early and often. Ignoring this means they will address the project on its terms.
  • Ensure quality is delivered to the customer
  • Focus on executable software
  • Accommodate change early
  • Baseline an executable architecture software early
  • Build using components
  • Work together as one team
  • Make quality a way of life as opposed to being an afterthought

Using RUP entails defining what is to be produced, the skills required to produce them and a description of how specific development goals are to be achieved. This in turn identifies the workers, their activities, the artifacts produced and the workflow needed to produce them. [5]

One of the most interesting aspects of RUP is that it is a complete framework that the organization can adopt in whole or in part to suit the needs of the software development team. It is a methodology that can be applied to both large scale projects down to the simpler ones. To do this, the project employs only the aspects of the methodology that are needed.

It (RUP) is a framework. It has to be tailored to a number of variables: the size of the system in work, the domain in which that system is to function, the complexity of the system and the experience, skill or process level of the project organization and its people. – Jacobson, Booch, and Rumbaugh

RUP’s focus is on supporting the basic elements of software development projects that can be used during the life of the finished product. These elements, use-case customer dialogue and documentation, a focus on architecture, an iterative process and incremental development are central to RUP’s framework.

Large or small, projects benefit from the use of a disciplined methodology to help ensure the expected quality is delivered to the customer in a more predictable way. The larger the project, the more important the methodology becomes.


[1] Aked, Mark (2003-11-25). “RUP in brief“. IBM. Retrieved 2011-07-12.
[2] Unified Modeling Language,
[3] JUnit – Unit Testing Framework for Java
[4] Change Management (ITSM), JIRA, How to Develop an IT Change Management Program
[5] Rational Unified Process, Best Practices for Software Development Teams

Written by admin

April 26th, 2014 at 10:03 am

Leave a Reply

You must be logged in to post a comment.