I wanted to help the community by sharing my experience of implementing the Atlassian tools for an IT company. Coming from an IT background, i had a specific idea in mind of how i wanted to integrate development with project management, and i was also in the midst of converting a whole organisation from waterfall to agile. So after writing religiously my expression of the need, i did shop around and finally selected Atlassian. Here’s my take on it.
To start, i had to chose between cloud and hosted solution. I initially went for the cloud-based solution since i liked the absence of maintenance, and gave it a go. This was about a year ago. As i was trialing the software, i discovered new tools available like bitbucket (GIT versioning), which is also offered on the cloud, and at this moment my confidence in the cloud choice started to diminish, as i do not like the idea of client’s codebase being away from my control. Atlassian do host in the US as well, which means that my company’s information can be seized at any time, implying also downtime. When i elaborated further with the tool, i realized some of the administrative functionalities are not available on the cloud like LDAP connectivity, access to the codebase, custom url or even more important, that some [crucial] add-ons are not supported. I therefore decided to host the solution myself.
As i brought the instance on my servers, i noticed the java-based codebase Atlassian adopted, and therefore the need to run tomcat. Running a PHP hosting, this annoyed me a little because there is now the need to run Java, and add libraries if you dare running your database on mysql. The configuration of the application is also a tad confusing, but i have to say the documentation provided by Atlassian works like a charm. As i finished the backend configuration, i had to familiarize myself with the logging system of Atlassian, because you will need debugging to make this tool work.
Front-end however, that’s another story. The configuration and integration of your systems together is a breeze. My big disappointment however comes from the fact that SSL is not proposed by default. In order to use SSL, you will have to modify the application in the backend, add your certificate to the keychain (use this plugin to do it easily), and if you have a self-signed..well you have to add exclusion rules, it’s a nightmare. Not to mention the fact that, by running SSL, you actually prevent a few plugins from Confluence to integrate with Jira..Also, cross-domain reference seems to be an issue, so i would strongly suggest you build your Jira in the same domain, different suffix , rather than sub domains like what i chose to do…
Jira is a tool to manage your production. you will create “issues” (bugs, tasks), and assign it to your team.It’s fairly intuitive to use, and we chose the plugin “Jira agile” which allows us to define “Epics” (main functionality to develop), and assign bugs or tasks to accomplish it. Also, you can define “sprints” which contains a set of issues you take from your product backlog (complete list of issues for your project / phase) and chose to focus on. Jira will provide a set of reports, such as the famous “burndown chart”, but beware : Jira’s reporting capability is limited. the minute you want to measure the effort on a specific epic, compare the estimated with the worked with the remaining in one report, you get disappointed. Jira is a fantastic tool if you fully adopt the Atlassian methodology. But don’t expect to run this tool “your way”, because you will lack functionalities, or you will then look at the list of add-on via the Atlassian marketplace to see if someone came up with an answer.
Jira supports REST API. The database schema takes a while to understand, but you are better of leveraging the “logic hook” functionality that allows you to push some information via JSON to any API on a specific action. We did use this functionality to integrate the timesheets in CRM, and leverage the CRM reporting capability to have a true accurate picture of the projects completion, easily reportable via the reporting engine of CRM.
With Jira, there are a few plugins you may want to consider to make your life easier :
Tempo Timesheets : this plugin is a brilliant tool to measure time spent by teams and employees. You definitely need this one
Tempo Planner : this plugin allows you to create teams of employees, and “plan” time on specific projects / sprints for these teams. It then gives you a team capacity report, showing the usage of your teams and how much availability they have
Tempo Folio : we did run a few month without this plugin as we push the time spent by projects in our CRM. However, by adapting our methodology to Jira we can now manage budgets and projects directly within the tool via tempo folio. Decent reporting is offered via this tool, enough to keep track of your project efficiently
Gantt-Chart : jira does not have Gantt functionality. Whether you are running agile or not, your clients wants to see a project timeline..This tool is actually pretty good, and allows you to manage your timelines, re-plan issues and sprints directly via the Gantt, and export them to Powerpoint or MsProject
Jira Capture : this great tool allows us or our clients to screenshot, from their web-browser any bugs, and create still within the browser an issue, assign it internally, add priorities..and draw on the screenshot if needed
Zephyr : this great plugin is one of the reason i went on-premise as it was not available on cloud. This allows you to define test plans, test cases, and run them to either pass or fail, and report bugs to specific test cases. It is an essential plugin for us to define the user input and output, run the QA and prevent regressions. Also, any test is linked to a bug, any bug is linked to a commit
In my opinion, Confluence is one of the greatest tool available out there for documentation. It is not just a documentation tool though : as you setup your client “space”, you are able to embed Jira bugs within your pages, link OR create bugs from your documentation, display project status, reports, dashboards dynamically generated directly from your space. The documentation space is no longer a repository of files, it is a living system integrating in real time your project statuses, issues, active pending tasks…like Jira, confluence is opened to clients which can follow the status of their projects, contribute to documentation, upload files and make comments on scoping documents.
We also use Confluence as an intranet tool : announcements are centralized, team calendars are displayed and in sync with Google calendar. The other functionality that’s really interesting is templated documentation : you can build your specific templates of document with a set structure, and prevent users from creating documentation that’s not templated, forcing your users to keep the documentation clean. With confluence, each internal meeting is documented, and action items are actual tasks in your document. These tasks are assigned to users, and when reviewing your list of tasks, you can see what document it is referring to. Confluence offers a syntax to embed “macros” that are very useful to embed content in your document. You can then embed a youtube video, preview a pdf or a Microsoft office file, which is also supported natively.
Gliffy diagrams : this plugin is a replacement of Visio to design charts directly from within the confluence document. It’s built in html 5, and not only you do not need to install anything on your machine unlike visio, but you can also import visio documents, and export to a jpeg your design
Google Drive by AppFusions : this plugin is actually not available from the confluence marketplace, but you can find it here. This plugin allows you to embed directly within your page a google document. For instance, you could share a google spreadsheet with a client outside of confluence, but see the document in real time getting updated within your confluence page. Also, the unified search allow you to search documents in confluence that’s stored in google drive
Protoshare : this great plugin is a wireframing tool that’s directly editable from within a confluence page. start a document, add a protoshare design, and you get a tool capable of generating a dynamic html pages. you can then save this, and send the prototype to your client, or give access to the confluence page
Bitbucket used to be called stash. It is a tool that sits on top of your GIT and organizes your repositories by projects and clients. You can then set really granular permissions by user, ssh keys, etc. Bitbucket is a direct concurrent of GitHub for business. Although some features are missing, the ability to invite developers to pull requests, comment bits of code and generate tasks directly from within the tool is great. Working with clients on same projects becomes much easier, and for each requests you can easily see the diffs, approve or reject a merge, and visually see the git flows between the branches. However, nothing is provided yet to fix the conflicts.
To be honest, Bitbucket does not have many useful plugins yet. the only two i am using so far :
Commit Graph : a free plugin that allows you to see visually the forks and merges between the branches
The Tag maker : if you decide to tag your branches, there is no way out of the box to display it! fortunately, this plugin does integrate that with the UI
Finally, Jira service desk. Although it technically started as a plugin of Jira, it is now a compelte software. Jira service desk allows you to monitor your incoming emails, create issues and assign them to your support team. Customization are easy to make, you can easily setup your own SLA’s base on native rules (priorities, time until an issue is assigned, pause the SLA’s when an issue is pending client, etc), and basically you have the ability to invite as many clients as you like to open a guest account, and log issues through your custom portal.
Jira Service Desk is intuitive and easy to use and setup. the only downside is that it’s expensive..really expensive.. ($1500 for 5 users). So unless support is a critical part of your organisation, i would suggest keeping the 3 users license for front facing support people, and raise issues internally via a different project (jira helpdesk creates it’s own project, and of course someone unlicensed cannot post comments or log time).
After changing completely all our production tools internally to switch to Atlassian, i can honestly say this has given us the depth and abilities to work the way we always wanted to work, which is having a 360 degree view of our production team : a project has issues, an issue is referenced in the documentation and explained via diagrams and prototypes, and has a test scenario that needs to be validated in a test plan. The issue is linked to a branch in GIT, which is linked to many commits and comments in the code. When building software, this is a must have, and a very powerful tool to increase efficiency and quality of your builds. We have other Atlassian tools to discover. Bamboo is another tool that automates builds and deployments, and is next on the list.
Now, i would highly recommend you consider elaborating your internal processes first, and define how you do things first. then look at how Atlassian does it, and see if there is a fit, or the adjustments that needs to be made, because as i said earlier, Jira isn’t very flexible if you want to use the tool your way. I hope this helps you, and i’m happy to answer your questions !
wordpress theme by initheme.com