For a number of internal business processes like hirings, employee transfers, changes of pay, and approval of commercial documents, we run them all through JIRA workflows.
We're starting to push the boundaries of what we can do with Atlassian ALM. It's served us pretty well and we like the flexibility of being able to create custom issues, fields, etc. We've invested in a number of add-ons to give us additional functionalities with JIRA and Confluence, the latter of which is our de facto documentation tool for living documents (stories, reference information, procedures, etc.). We're able to take advantage of the integrations between JIRA and Confluence, for example to show a list of JIRA issues on a Confluence page, and vice versa.
Also, we've invested in Stash, which is our repository for any software development we do. There's not a lot of integration from Stash to JIRA and Confluence that we use. Obviously, we can track bugs and link them back to comments in Stash, but Stash is mostly a standalone solution for us.
We're hosting JIRA, Confluence, and Stash in the cloud with AWS.
Room for Improvement
My job is to make sure these things meet the needs of the users. What I'd love to be able to do is actually stop hosting these things ourselves and just go across to the Atlassian Cloud version of these products. I've used those in the past and the integration between JIRA and Confluenc, is a much tighter, neater experience. This is particularly important when you get to managing users and so forth. It's a more seamless experience for users between those two products.
But we just can't do that because Atlassian has no practical solution for enterprise identity management. Essentially if you want to use these products you have manage your users and their roles / groups within the Atlassian ecosystem, which is completely impractical for a business of any size.
Since we host our own server instances, we are also responsible for the product upgrades. It's probably the biggest challenge for us. Frankly it's a really daunting exercise - challenging, problematic and very flaky.
Even if you can upgrade the core product, compatibility with the existing plug-ins is questionable.If you do a major version upgrade, more often than not, you'll find that some of the plug-ins you previously had working have stopped working. We have struggled to stay current on the Atlassian products because these upgrades are such a drawn-out exercise.
Use of Solution
The main products we use right now are JIRA, Confluence and Stash or Bitbucket Server as they now call it. We, up until recently, also used HipChat but have recently turned that off in favor of Slack. Sorry Altassian, you've lost on that one. There is a message there for you, Altassian. We've actually been using, particularly JIRA and Confluence, for quite a few years. We're generally big fans. We use it actively, we promote it to our clients, we use it to manage our client engagements. We actually do consult engagements occasionally to set up Altassian products for our clients. Ironically, Altassian is also one of our clients so we've, at times, provided a consulting service to those guys.
Their Sydney office is right next door to us, so it's pretty close knit. You know JIRA is, at its heart, a project management system. Our business is providing professional consulting services in the space of software engineering. We use that to manage the software projects and we run our engagements in an agile style using Scrum by default. We've got dozens and dozens and dozens of projects that are essentially Scrum. It works pretty well. We use, beyond that, JIRA as our de facto enterprise to-do list.
We struggled to get performance out of JIRA and Confluence, in particular. Even though we've done quite a lot of profiling and upped the instant size of the EC2 servers that we're running this thing on, it feels sluggish. You're navigating around and it's not snappy. That's a bit of a challenge at times, particularly in Confluence, because you can get these runaway background processes that can massively impact performance.
One of the things that we've found is we've revoked pretty much every user's right to export a space in Confluence. Before you do that, you can just basically kill the entire platform while that's running. There's no practical solution right now for a custom HA-type solution. I know Atlassian actually does that internally, but I've heard of extremely flaky instance.
To try and have a good, healthy HA type configuration, there's still quite a way to go there. Those two products are probably one or more critical systems for our business so it's a bit of a challenge.
Customer Service and Technical Support
Generally, it's been a really good experience. They're pretty responsive. I personally don't make the calls since I've got guys who do that for me. Following an alarm, it can take a bit of back and forth to figure out what the problem is and if there's a solution for it. Generally, they don't blow you off and their first response assumes that there is a problem, rather than the user's an idiot. I don't think they just follow the script and say the "format the hard drive and call me in the morning"-type nonsense.
It's ancient history, to be honest. We've been running these instances for so long now. I've contemplated whether we should do a clean install. Essentially, the way you do an upgrade is you fire up the new instance and it upgrades and runs a bunch schema updates to update the database. You've got layers and layers and layers of schema changes and a lot of crud, crap and corruption is left in there after six or seven years of doing that. I couldn't speak to the original.
Atlassian is talking to me about starting to try and think about their products working together as I mentioned before. It's like an ALM-like stack.
As a general purpose tool, JIRA and Confluence are still ahead of the competition. I'd say, your first decision is to try and figure out whether you can get away with using the Atlassian On-Demand versions of the products. If you can, go that route rather than hosting your own. Just get the thing up and running, get a few users, get one team on there, and get a couple of projects.
Launch with an MVP of your Atlassian suite and then iterate. It's pretty easy to manage and enhance the configuration of the thing while it's live and users are using it.