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 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:
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 workersshould 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.