Large companies will find it particularly useful, but smaller companies and independent developers will not be able to afford the cost, and will not see many advantages compared to using an open source solution. However, having some software to handle continuous integration build servers as well as deployments, and doing this consistently between products, is absolutely essential.
TeamCity is well suited for an organization using continuous integration, meaning you release code to production often, and an agile project management system. There are free versions available for small teams and enterprise versions available for large teams with many different builds. TeamCity is probably overkill for basic e-commerce or blog website builds that do not require much development after the initial launch
Continuous Deployment - you can use Bamboo to automatically build and deploy whenever there are changes in the source code.
Continuous Integration - by integrating the automated tests and the integration tests before deploying you make sure you know immediately if the latest code fits into the whole scheme of apps.
Integration with Jira and Bitbucket.
Flexibility with the program language used for builds: Maven, Ant, PowerShell, any command line tools.
Fully customizable build process. Each step of the build process can be parameterized and customized to address specific needs of particular applications. This allowed us to easily convert from a custom VM-based environment to our current Docker-based environment.
Manages large numbers of build agents seamlessly. This allows us to run multiple builds on many different applications in a most efficient manner.
Build steps can be managed in an arbitrary manner, allowing some parts of the process to proceed in parallel while restricting others to depend on completion of all relevant steps.
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.
TeamCity runs really well, even when sharing a small instance with other applications. The user interface adequately conveys important information without being overly bloated, and it is snappy. There isn't any significant overhead to build agents or unit test runners that we have measured.
Support for Bamboo has started lack a little over the years. Atlassian has been moving more towards Bitbucket Pipelines and away from the on-premise install of Bamboo. While the tool is still great, it may take a little bit of time to get a question answered by official support.
We chose Bamboo over Jenkins for 2 reasons - one, for its tight integration amongst all the products in the tool suite. We find explicit value in the traceability from JIRA issues all the way down to the Bamboo build that was triggered by the check in of those issues. The second reason was for support - we didn't want the burden of figuring out how to support Jenkins in our production environment, as can be the case with so many open source products.
Jenkins relies on being open source as the primary driver for its success. This low cost is a huge factor for many companies, both small and large. The professional, free tier of TeamCity offers a huge amount of growth before ever needing to pay anything. I personally also find the user experience of TeamCity to be much better, both from a look and feel, as well as from an out-of-the-box feature set perspective. The big selling feature of ADO is its native integration with Azure. TeamCity integrates very well with out-of-the-box .NET support and greatly simplifies our use of another diverse tooling outside of the Microsoft ecosystem.
TeamCity was a key contributor to our organization's adoption of Agile.
TeamCity made it possible to KILL "It works on my laptop" conversations with Developers. If it does not compile in TeamCity - the project is not deployable. TeamCity's easy to use interface made it possible to quickly adopt a "Deploy Only from TeamCity" policy, further ensuring TeamCity Builds were the gold-standard for well-configured source code.