Overall Satisfaction with Bitbucket
We're using Bitbucket (formerly Stash) across most of the engineering organizations. It helps us collaborate better on code and integrates well with other Atlassian tools like Jira and Bamboo, which makes it easier to implement DevOps processes and keep track of the development workflow.
- Integration with other Atlassian products is great. Of course, this is probably the main reason people go with any of the Atlassian products, that they integrate with each other so seamlessly
- It has a lot of automatic features relating to Jira and Bamboo, like exposing Bamboo job runs. This allows you to make better decisions about whether or not to merge a pull request, for example.
- The new UI is based off Atlassian's new aesthetic, which makes the tool a pleasure to use. While not a "hard" feature, developer happiness is an important benefit
- Using Jira for issues gives a lot of power, but it's also a lot of overhead and complexity that may or may not be necessary for your organization. It also puts issues in another tool, adding a little friction when it comes to addressing issues in your code
- Searching for and discovering other projects and GitHub isn't quite as intuitive or easy to use as competitors
- It's allowed for a lot of automation in terms of development workflows. It lets us pursue CI/CD approaches and get releases out faster
- It has let us get our infrastructure configuration into VCS, which further improves our automation abilities.
- It has aided in keeping track of changes, and allows us to keep workflows organized so we can track the status of development
Bitbucket excels at providing loads of customizability and a comprehensive suite of tools for the development life cycle. But it does it by adding a lot of complexity that has to be managed by someone (or some people). Competitors like GitHub and Gitlab are a little leaner. GitHub takes a more "do one thing well" approach and lets you extend it easily with other apps, which can be extremely useful and flexible for some organizations. But for some (especially larger organizations) so much interfacing with 3rd party applications won't be allowed or will meet with resistance. Gitlab is more in between, offering a fuller grouping of tools than GitHub, but with much less of the complexity of bitbucket/Atlassian. It is, however, the less mature of the 3, but it is improving.
For large enterprises, Bitbucket and the rest of the Atlassian suite are kind of a given. It gives you the most options and customizations, and tons of data points. For medium to small organizations, it's probably overkill, and you'd be better served by an app or suite of apps that required less setup and maintenance, and less complexity to deal with.