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.
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:
|Rapid Application Development||Test-Driven Development||Waterfall Model|
|Iterative Model||Extreme Programming||Scaled Agile Framework|
|Agile Model||Scrum||Software Development Life Cycle|
|Big Bang Model||V-Model||Conceptual Model|
|Kaizen Model||Kanban Model||Spiral Model|
Rational Unified Process is structured around six fundamental
best practices, which are so-named due to their common use throughout the industry:
Rational Unified Processprovides 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:
activityin order to produce
workeris to perform.
Activitiesshould have a clear purpose, typically by creating or updating
artifactrepresents 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
Workflows are further divided up in the
Rational Unified Process into six core
scope) of the project should be outlined.
requirements workflowis complete, the
analysis and designphase takes those requirements and transforms them into a design that can be properly implemented.
deployment workflowconstitutes 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:
activitiesdealing with project management take place, from pushing design objectives to managing risk to overcoming delivery constraints.
artifactsproduced by the development team, ideally ensuring that there is minimal overlap or wasted efforts performing similar
activitiesthat result in identical or conflicting
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.
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
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.
Product Release Milestone signals the end of the
transition phase, and is based on a few simple questions:
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 phasewhere all other coding and development is taking place.
workersshould produce tangible, pre-planned results in the form of
rupis a fairly complicated model. Given the assortment of the components involved, including
workflows, often proper implementation and use of the
Rational Unified Processcan be challenging for many organizations, particularly for smaller teams or projects.