|
What is the Rational Unified Process, or RUP? |
![]() |
At it's heart, the Rational Unified Process® (RUP®) is about successful software development. There are three central elements that define RUP:
These philosophies, core practices and essential elements are the foundation on which the RUP has been developed. RUP has a long history of ongoing evolution that has included the Rational Approach, the Objectory Process, ClearGuide, SQA Process and so forth. To have an overview of RUP philosophy please read the Spirit of RUP article.
Defined and improved on an ongoing basis by Rational Software, the RUP process model and associated content library defines the base RUP software engineering process framework from which you create your own process configurations.
Underlying it all is a process
meta-model. This model provides a language of process
definition elements for describing a software engineering process. This
language is based on the SPEM extension to the UML for software process
engineering and the Unified Process methodology.
Over many years of development effort, the RUP has evolved into a rich family of integrated software-engineering process products. These products enable software development teams to define, configure, tailor and practice a common software-engineering process. The key elements of the product family are:
RUP is delivered to practitioners as an interactive Web site using industry-standard browser technology. The tools used to deliver RUP include:
A RUP Web site is a published
process definition configured for your project and tailored to your
specific needs. The Web site is created using dynamically generated
HTML pages, which the RUP products enable you to publish in the form
of multiple RUP Web sites, each representing a configured and tailored
process definition.
The RUP Browser applets enable the RUP Web site to be dynamically accessed through a number of standard web browsers with the help of additional navigation applets.
RUP Builder is a process
publication tool that allows Process Configurations to be created for different
needs and then published as a Web site for practitioners to access. RUP
Builder allows the optional inclusion of process extensions to the RUP using
the RUP Plug-In technology.
The RUP section of the developerWorks®: Rational® Web site provides a place for process engineers in the software development community to share their process extensions as consumable Plug-Ins, and provides a rich source of process extensions for the project manager.
The Rational Process Workbench
(RPW) tool is comprised of three components: RUP Organizer for managing
content libraries, RUP Modeler for defining process models that extend the
basic RUP process definition, and the RUP process engineering process. These
tools also provide a standardized mechanism for creating and transporting
process definition extensions as RUP Plug-IN's
If you depend on your ability to develop and deploy software which is critical to the success of your organization, then RUP will help you. The RUP product family is developed with two primary groups of users in mind:
Software development practitioners can find guidance on what is required of them in the roles defined in RUP. A practitioner working on a RUP software engineering project is assigned one or more of the roles defined in RUP, where each role partitions a set of activities and artifacts that role is responsible for. Guidance is also given on how those roles collaborate in terms of the detailed work that is required to enact the workflow within an iteration.
Process Engineering practitioners can find guidance on defining, configuring,
tailoring and implementing
engineering processes. The RUP product family provides
a
number of tools that enable and simplify defining, configuring and tailoring
the engineering process.
A number of process views
are provided with the RUP product that are focused on different groups of software
engineering practitioners.
One of the core practices behind RUP is iterative and incremental development.
This practice is also good to keep in mind as you start with RUP: don't try
to "do" all of RUP at once. Adopt an approach to implementing,
learning and using RUP that is itself iterative and incremental. Start by assessing
your existing process and selecting one or two key areas you would like to improve.
Begin using RUP to improve these areas first and then, in later iterations or
development cycles, make incremental improvements in other areas.
Visit the following links to learn:
RUP provides a software development practitioner with a standards-based yet configurable process environment. That process environment:
At it's heart, RUP is a collected body of software engineering practices that are regarded as representative of many continually improved on a regular basis to reflect changes in industry practices.
As a stakeholder in a software development project, RUP provides you with an understanding of what can be expected from the development effort. It provides a glossary of terminology and an encyclopedia of knowledge to help you communicate your needs effectively with the software development team.
As a software development practitioner, this process environment provides a central, common process definition that all software development team members can share, helping to ensure clear and unambiguous communication between team members. This helps you to play the part expected of you in the project team by making it clear what your responsibilities are. As a general software engineering reference, RUP provides a wealth of guidance on software development practices that novice and experienced practitioners alike will find valuable. Even if you are a lone code-warrior, you will find RUP a useful mentor in helping you to build world-class software.
As a manager or team leader, RUP provides you with a process by which you can communicate effectively with your staff and manage the planning and control of their work accordingly.
As a process engineer, RUP provides you with a good architectural foundation and wealth of material from which you can construct your process definition, enabling you to configure and extend that foundation as desired. This will save you enormous amounts of time and effort that would otherwise be required to create such a process definition from scratch.
RUP can be used right from the start of a new software project, and can continue to be used in subsequent development cycles long after the initial project has ended. However, the way in which RUP is used needs to be varied appropriately to suit your needs. There are a few considerations that will alter when and how you will use different parts of RUP:
The following resources can help you to get up to speed and master RUP quickly:
Rational Unified Process
|