Skip to content

Common Factor list

The purpose of this page is to identify which factors, which drivers, different tactics should adhere to.

  • Testability and maintainability should in general be the two most important drivers. Exceptions should not be made lightly.

  • The final artifact should not require build-time changes to facilitate deployment to different environments. (I.e., all configuration required to deploy to a specific environment should be configurable run-time.)

  • All artifacts must be uniquely identified.

  • All releases (any non-snapshot artifact) must be reproducible. E.g. dependencies on snapshots is not allowed.

  • Pull-based configuration schemes should be preferred over push-based. (All projects/services need to know where to find its configuration. No single service is responsible for updating all clients.)