The fundamental purpose of the Rational Unified Process
is to provide a model for effectively implementing commercially proven approaches to development, for use throughout the entire software development life cycle. Taking elements from other iterative software development models, the Rational Unified Process
framework was initially created by the Rational Software Corporation, which was bought out by IBM in 2003.
The Rational Unified Process
is not a concrete development model, but rather is intended to be adaptive and tailored to the specific needs of your project, team, or organization. The Rational Unified Process
is based on a few fundamental ideas, such as the phases
of development and the building blocks
, which define who, what, when, and how development will take place.
Throughout this article we'll explore the Rational Unified Process
in detail, examining the best practices
, its fundamental building blocks
, and the core life cycles
that software will iteratively progress through, before we outline a few advantages and potential disadvantages to using the Rational Unified Process
in for your own projects. Let's take a look!
Some more specific takes on SDLC include:
The Rational Unified Process
is structured around six fundamental best practices
, which are so-named due to their common use throughout the industry:
UML
), the Rational Unified Process
provides the means to visually model software, including the components and their relationships with one another.All aspects of the Rational Unified Process
are based on a set of building blocks
, which are used to describe what should be produced, who is in charge of producing it, how production will take place, and when production is complete. These four building blocks
are:
activity
in order to produce artifacts
.worker
is to perform. Activities
should have a clear purpose, typically by creating or updating artifacts
.artifact
represents any tangible output that emerges from the process; anything from new code functions to documents to additional life cycle models.activities
, in order to produce observable value and artifacts
.Workflows
are further divided up in the Rational Unified Process
into six core engineering workflows
:
scope
) of the project should be outlined.requirements workflow
is complete, the analysis and design
phase takes those requirements and transforms them into a design that can be properly implemented.deployment workflow
constitutes the entire delivery and release process, ensuring that the software reaches the customer as expected.There are also three core supporting workflows
defined in the Rational Unified Process
:
activities
dealing with project management take place, from pushing design objectives to managing risk to overcoming delivery constraints.artifacts
produced by the development team, ideally ensuring that there is minimal overlap or wasted efforts performing similar activities
that result in identical or conflicting artifacts
.During the inception phase
, the basic idea and structure of the project is determined. The team will sit down and determine if the project is worth pursuing at all, based on the proposed purpose of the project, the estimated costs (monetary and time), and what resources will be required to complete the project once the green light is given.
The conclusion of the inception phase
is the Lifecycle Objectives Milestone
, which consists of the following evaluation criteria:
The purpose of the elaboration phase
is to analyze the requirements and necessary architecture of the system. The success of this phase is particularly critical, as the final milestone of this phase signifies the transition of the project from low-risk to high-risk, since the actual development and coding will take place in the following phase.
The Lifecycle Architecture Milestone
signifies the end of the elaboration phase
, and is evaluated using these criteria:
As the meat and potatoes of the software development life cycle, the construction phase
is when the coding and implementation of all application features will take place. This period is also where integrations with other services or existing software should occur.
The end of the construction phase
is measured by the completion of the Initial Operational Capability Milestone
, which is based on these criteria:
Easier thought of as deployment
, the transition phase
is when the finished product is finally released and delivered to customers. However, the transition phase
is more than just the process of deployment; it must also handle all post-release support, bug fixes, patches, and so forth.
The Product Release Milestone
signals the end of the transition phase
, and is based on a few simple questions:
The Rational Unified Process
also recommends that each of the four above phases be further broken down into iterations
, a concept taken from agile
and other common iterative development models. Just as with those other models, in the context of the Rational Unified Process
, an iteration
simply represents a full cycle of the aforementioned core phases, until a product is released in some form (internally or externally). From this baseline, the next iteration
can be modified as necessary until, finally, a full and complete product is released to customers.
construction phase
where all other coding and development is taking place.activities
to individual workers
should produce tangible, pre-planned results in the form of artifacts
.rup
is a fairly complicated model. Given the assortment of the components involved, including best practices
, phases
, building blocks
, milestone criteria
, iterations
, and workflows
, often proper implementation and use of the Rational Unified Process
can be challenging for many organizations, particularly for smaller teams or projects.