Rational Unified Process

The RUP actually denotes three very different things:

The RUP is a software development approach that is iterative, architecture-centric, and use-case-driven. It is described in a variety of whitepapers and books. The most comprehensive information can be found in the RUP product itself, which contains detailed guidelines, examples, and templates covering the full software lifecycle.

The RUP is a well-defined and well-structured software engineering process. It clearly defines who is responsible for what, how things are done, and when to do them.

The RUP also provides a well-defined structure for the lifecycle of a RUP project, clearly articulating essential milestones and decision points.

The RUP product supports process customization and authoring, and a wide variety of processes, or Process Configurations, can be assembled from it. These RUP configurations can be made to support small or large teams and disciplined or less-formal approaches to development. The RUP product contains several out-of-the-box Process Configurations and Process Views that guide analysts, developers, testers, project managers, configuration managers, data analysts, and other team members in how to develop software. The RUP is used by a wide variety of companies in different industry sectors

The Spirit of the RUP Essential Principles:

•     Attack major risks early and continuously...or they will attack you.
•     Ensure that you deliver value to your customer.
•     Stay focused on executable software.
•     Accommodate change early in the project.
•     Baseline an executable architecture early on.
•     Build your system with components.
•     Work together as one team.
•     Make quality a way of life, not an afterthought.
 
In RUP the phases contain mini-waterfall iterations that each produce an increment to the final product.
 
In RUP, project proceeds in 4 phases each of which has multiple Iterations.
The 4 phases are:
1) Inception
2) Elaboration
3) Construction
4) Transition
 
The Inception phase produces a vision, baseline architecture and concludes in go or no-go with project based on customers decision.
The Elaboration phase then considers 3 alternate architectures and creates a detailed use-case for 20% of top use-cases.
The Construction phase proceeds with coding and testing of the incremental product with each iteration.
The Transition phase then deploys the product on server or user machines and also provides user manuals.
 
The Inception phase can have more than 1-2 iterations but no more than that.
The Elaboration phase can have more than 3 iterations.
The Construction phase can have more than 4 iterations.
The Transition phase can have 1-2 iterations.
 
There are milestones to reach after every phase is complete.
 
Book Recommended:
The Rational Unified Process: An Introduction (Addison-Wesley Object Technology Series)  - by Philippe Kruchten