When it comes to selecting the tools to construct, assemble, test, and deploy software, you face a difficult choice. Do you work with the monolithic, expensive and inflexible solutions from large established software vendors? Or do you assemble a set of ad-hoc tools and processes without any standardization? In both cases the costs incurred will be high and the results will disappoint. There now is a better solution: Apache Maven introduces a common metadata model, common processes, and common practices that can be used to create a standard development infrastructure using open source software.