There are a number of best practices that can be handled at once by inheriting from a parent pom that takes care of them all.Liftwizard ships with several parent poms that form an inheritance hierarchy. minimal-parent.md liftwizard-minimal-parent is the most minimal parent pom. It is meant to contain uncontroversial best practices that are applicable to all projects. profile-parent.md liftwizard-profile-parent is a parent pom that inherits from liftwizard-minimal-parent and enables several linters and validators in profiles that are off by default. bill-of-materials.md liftwizard-bom is a https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms Bill of Materials (BOM) that exports all modules within Liftwizard. liftwizard-parent is a parent pom that inherits from liftwizard-profile-parent , selects versions of libraries related to Dropwizard applications, and includes opinionated configurations for plugins. Learning Maven Maven can be confusing due to the extent of the "convention over configuration" approach.For example, to answer "how does maven run compilation before tests" you would need to learn:Plugins which are bound and enabled by default maven-surefire-plugin is the plugin that handles tests maven-compiler-plugin binds to the compile and testCompile phases. maven-surefire-plugin binds to the test phase In the https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#default-lifecycle lifecycle phases compile comes before testCompile which comes before test . None of this information appears in pom.xml , and little of it is logged during the build.To make it easier to understand, liftwizard-minimal-parent includes region markers surrounding each plugin that label the phase that the plugin is bound to. The sections are sorted by phase. <!--region Phase 22: install--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>3.1.3</version> </plugin> <!--endregion Phase 22: install-->