Start here. This is the direct spoken answer to practice first.
Overview
An Angular upgrade is a coordinated framework, tooling, runtime, and dependency change rather than a package-version edit.
I check Angular's supported Node, TypeScript, and RxJS ranges plus the application's third-party library compatibility. I upgrade one supported major step at a time when required and run ng update so official migrations can change code and configuration. After each step I build, test, and review the migration diff before continuing.