[x] Have tests for all migrated features.
[x] Omit broken builds as much as possible. This should never occur, if reasonably possible.
[x] Minimize breaking of backwards compatibility. Prefer adding a new version of something, which can run simultaneously with the old version, instead of changing something and not adapting all users at once.
[ ] Per Project Dependencies
[ ] Update on per projects based.
[x] Link to compatibility guidelines and back to migration based development guidelines.
[x] Code deprecation as an alternative to good code abstractions, where layers of code are used as institutional knowledge. This is the basis for quickly break APIs without breaking code depending on the older API. Example of computer configuration scripts.