Rational Unified Process (RUP)
Definition
RUP is an iterative software development process framework created by Rational Software (now IBM), built around UML (Unified Modeling Language) and organized along two dimensions: phases (time) and disciplines/workflows (activity type).
The Four Phases (Time Dimension)
- Inception — define project scope, business case, identify key risks
- Elaboration — analyze requirements in detail, design system architecture, address high-risk elements
- Construction — build the actual product iteratively, develop remaining components
- Transition — deploy the system to users, beta testing, bug fixing, training
Each phase can contain multiple iterations, and each iteration produces an executable release.
The Disciplines (Workflow Dimension)
- Business Modeling
- Requirements
- Analysis & Design
- Implementation
- Testing
- Deployment
- Configuration & Change Management
- Project Management
- Environment
These disciplines occur across all phases, but with varying intensity — e.g., Requirements work is heaviest in Inception/Elaboration, Testing is heaviest in Construction/Transition.
The RUP "Hump Chart"
A famous diagram shows each discipline as a curve of effort over the 4 phases — effort shifts from requirements/design (early) to implementation/testing (middle) to deployment (late).
Key Principles
- Use-case driven — requirements captured as use cases
- Architecture-centric — strong emphasis on defining architecture early
- Iterative and incremental — each iteration refines the product
Advantages
- Handles large, complex projects well
- Risk addressed early (in Elaboration)
- Strong architectural focus reduces late rework
- Well-suited to object-oriented development
Disadvantages
- Complex, requires trained/experienced teams
- Heavy documentation overhead
- Not ideal for small projects or fast-changing startups
Exam tip: Remember the 4 phases with the mnemonic "I Eat Cold Toast" (Inception, Elaboration, Construction, Transition), and mention it is use-case driven and architecture-centric.