Capture awareness / interest early.
In medium to large sized companies, Atlassian will usually win out when you have a CTO that manages 100+ developers. Enterprises really like to stick with the "safe bet", where there are expensive licenses and dedicated account managers from the service provider.
Jira in particular is extremely popular with the modern addiction to Agile. Once you're on Jira, you just start to fall onto connecting all the related products like Confluence for wiki and Bitbucket Server (formerly Stash) for git. I'm not saying it's the best thing to just ignore all other offerings, but in my experience CTOs do exactly that and just go straight to Atlassian for everything.
Basically, if your company is using Exchange... expect to be forced onto Atlassian. Welcome to the enterprise.
BTW, this is not some small startup...
I like the GitLab feature set more than BitBucket but when I went started my own company it was generally cheaper for my team of 5-8 to use hosted JIRA, BitBucket, and Confluence then it would be for me to pay AWS/Rackspace/Azure/Digital Ocean to run the F/OSS equivalents in our cloud environment. BitBucket integrates just fine with Jenkins and the new Project organization was much needed.
We may someday move to GitLab or something else, but there isn't anything wrong with choosing Atlassian in any way. It's not like they're an Oracle/SAP type company that just abuses their customers and has awful products.
JIRA follows the feature branching workflow pretty well, so if you branch from dev/master with the ticket number as the start of the branch name you can click through to that branch straight from JIRA, which is generally pretty nice.
Confluence isn't nearly as tightly integrated with either. There are some reports, widgets, and stuff you can grab out of JIRA and make some dashboard type reports. Nothing special- we use Confluence to document architecture, deployment procedures, etc. We're definitely not Confluence power users.
What I realised is that eventually they're all ad-hoc, informally-specified, bug-ridden, slow implementation of a workflow engine and metadata service. Your choice is mainly of the interface and domain-specific layering violations.
Troll-friendly soundbite: Atlassian is the new Rational.
Let us know anything specific you'd have us improve - love to know what changed over the last 10 years to make you change your mind.
For the last 3 months, Groovy has been officially known as "Apache Groovy".
- Merge requests/code review in Gitlab is much better, whereas with Atlassian they recommend purchasing another product
- Integrated Wiki, whereas Atlassian they recommended Confluence
- The UI is absolutely terrible, even now the Bitbucket front-page where it dumps you when logged in is a disorganised mess and I can never find what I am looking for
- Speed, Gitlab running on my own server is MUCH faster, compared to Stash
- There was no way to easily add code snippets to be shared with the rest of the team, ala Snippets.
- Integration with the rest of the Atlassian toolset was so-so, and left a lot to be desired honestly.
- Statistics and information about the code and who is contributing and everything along those lines, makes for pretty graphs that make higher ups happy.
- Bitbucket doesn't currently have a view within the web interface for how many commits have been made to a project. People like numbers, and watching them grow!
- I have to reiterate, the UI is absolutely terrible in Bitbucket/Stash.
And the real killer is that I can get Gitlab CE and never pay you guys a dime, I've in the past helped out in the Github issues with debugging, and I can be part of the community. The only feature from EE that I need is the ability to use LDAP groups to define what users can and can't access various repositories, and the company I work for can afford to help pay for Gitlab's future to stick around!
I don't think that's true. Some people never get involved in free software even as a hobby. Some people get apprenticeships and learn to program from scratch on the job.