Maven is great if you have an application with a lot of third-party dependencies and don’t want each developer to keep track of where the dependency can be downloaded. It’s also a great way to make it easy for a new developer to be able to build the application. It’s less suitable for simple projects without any third-party dependencies.
If you value integration over cost, Bamboo is clearly the way to go. It offers tight integration to the rest of the Atlassian suite, and when you need traceability from issue to build, Atlassian is the right way to go. However, if you find yourself needing to save on costs, you may consider taking an approach of rolling your own build system with open source alternatives, such as Jenkins, if you don't [mind] putting in a little extra elbow grease.
Levels of granularity. Organization has many projects that have many build plans that have many jobs that have many tasks, etc. And branch builds allow source control branches to be built separately.
Versatility. I can use bamboo to manage my Java, node, or .NET build plans. I can use it to spin up Windows or Linux build agents, or install it on a Mac to build there as well.
Bamboo integrates with other Atlassian products like Bitbucket, Stash, JIRA, etc. If a company commits to the entire Atlassian stack then work can be tracked through the whole development lifecycle which is really useful.
Maven provides a very rigid model that makes customization tedious and sometimes impossible. While this can make it easier to understand any given Maven build, as long as you don’t have any special requirements, it also makes it unsuitable for many automation problems.
Maven has few, built-in dependency scopes, which forces awkward module architectures in common scenarios like using test fixtures or code generation. There is no separation between unit and integration tests
The overall usability of Apache Maven is very good to us. We were able to incorporate it into our company's build process pretty quickly. We deployed it to multiple teams throughout the entire enterprise. We got good feedback from our developers stating that Apache Maven has simplified their build process. It also allowed to to standardize the build process for the entire enterprise, thus ensure that each development team is using the same, consistent process to build code.
Bamboo offers solid usability for teams looking for an integrated, scalable CI/CD solution, especially those using Atlassian tools. Its interface is intuitive for existing Atlassian users, and its focus on deployment automation makes it a strong option for continuous delivery. However, its complexity and cost may pose challenges for small teams or those new to CI/CD. Overall, Bamboo’s usability shines in environments where ease of integration and streamlined workflows are prioritized. Still, it may require more effort for teams unfamiliar with its setup or without dedicated resources.
I can't speak to the support, as I've never had issues. Apache Maven "just works," and errors were user errors or local nexus errors. Apache Maven is a great build/dependency management tool. I give it a 9/10 because occasionally the error message don't immediately indicate a solution...but again, those errors were always user or configuration errors, and the Maven documentation is extensive, so I don't find fault in Maven, but in its users.
Bamboo is a fairly small product but having said that it was fairly easy to get assistance. Especially for the small to easy things. Anything large or fairly complex was an issue finding detailed answers for. This caused a lot of trial and error on our part to try to find a solution.
Ant, Maven's opposing framework, is often a point of comparison. Although Ant does not require formal conventions, it is procedural in the sense that you must tell Ant exactly what to do and when. It also lacks a lifecycle, along with goal definition and dependencies. Maven, on the other hand, requires less work as it knows exactly where your source code is as long as the pom.xml file is generated.
We selected Bamboo because its capabilities to integrate with other Atlassian products specially Jira Software, Bitbucket and in some useful scenarios with Confluence. Also, we found these pros important for us: great user interface, easily agent deployment, Docker compability, simply to maintain / manage, and straightforwardly integration with different notification platforms
Apache Maven is an open source product from the Apache Software Foundation. Being free to use without any licensing constraints, we've been very happy with this product thus far.
The software build and packaging times for our applications have improved greatly since our use of this tool.
It helped us achieve the Continuous Deployment and Continuous Integration goals for our applications, a huge milestone that saved a lot of time for developers in making the builds and deployments and saved time for QA in running the automated tests.
Helped with DevOps: we moved the formal approval from the email to the system and allowed the approver to actually push the button for the production deployments.
Biggest positive impact of using Bamboo is that it improved our response time to customers and increased the frequency of our deliveries to them.