Artifacts are managed
Throughput
Feedback
Payback
Complexity
Score 6
Are you building that over and over and over again?

An artifact is the output derived from your build process.

Sadly, artifacts are often built whenever they’re needed. A lot of the builds just build that which has been built before.

Even though this could be about contributing to avoiding the environmental crisis, it is also justifiable to save and manage artifacts simply to save wait-states and bottlenecks in the software development process.

Stop building things that haven’t changed and start reusing colleagues’ artifacts - install an artifact management system.

Note:
The following is a curated mix of illustrative findings from various anonymized reports

Artifact management system configuration not optimal

The setup used in Artifact management is not as the tool is designed and intended for. The intended root structure is projects and on top of that a semantic structure with package and semantic version below. The current setup abuses the root structure as it is both the project and version which means that newcomers are confused and the root structure is polluted and grows as more releases are produced. The structure you’ve set up requires advanced logic in your build scripts rather than just simple SemVer logic.

Implement best practice structure

Store the artifacts in a hierarchical tree structure. It should also be done for non-Java artifacts if there is no explicit reason to not do so. Always respect the intent of a tool. Read the manual again, follow some of the tutorials for the tool. It will make the automation of the dependency management less complex if there is a consistent structure for addressing the artifacts.