1. RUP is relying on a few important principles and philosophies like planning ahead, knowing where the process is capturing and heading the project in extensible and storable manner.
2. It is wildly based on OO design and analysis, and use case driven.
3. Incremental and iterative development as opposed to waterfall approach, which removes problems.
4. Architecture centric approach.
RUP is more suited for bigger teams of 50-100 people. RUP may also be used as an agile process for smaller number of teams 20-30 people, or as a heavy weight program for bigger teams of 50-100 people. Extreme Programming (XP) may be accepting as a subset of RUP. At the time of writing, the agile software development cycle is gaining momentum and popularity across organizations. Various methodologies fit under this agile development methodology part. All these methodologies share many properties like iterative and incremental development, test driven development, stand up meetings to improve automatic testing, communication, build and continuous integration of code etc.