UVM Phases are predefined virtual function / tasks defined in UVM component which are supposed to be populated by classes extending from UVM component. These pre-defined virtual methods give each class (extended from UVM component) in the TB a common understanding of what should be executed in each phase.