Over the past few months I have seen a tremendous increase in demand for JIRA Trainers. I guess lot of companies are now moving to JIRA for their Issue Tracking. Already Atlassian has done a great job in create a world class product which is being used by so many companies like linkedin, twitter and even facebook. There are lot of other tools like Fisheye/Crucible, Bamboo, JIRA Agile, Hipchat and Confluence which integrates really well with JIRA.
I guess that is one of the reason why companies prefer to use JIRA as it is not just a product for issue tracking. One can customize it to act like a Helpdesk system, Test Management or even keeping tracking of HR processes.
Though it is really very simple to customize JIRA, it is usually a good idea to plan the customizations really well.
Things to take care before implementing JIRA in your organization.
1. Plan JIRA Installation
There are several questions that one should ask the teams before installing JIRA.
- Number of Projects?
- Number of Users?
- Whether you need Email Notifications
- Authentication method
- JIRA will be used from multiple locations?
- Concurrent Users
- Number of issues/projects?
- Total issues?
- Support for attachments
- Number of custom fields
2. Choice of server
It is very subjective. If your IT is more comfortable with Windows, SQL then use windows server. Linux has some advantages like ssh, and more suitable for open source tools like postgres or MySQL.
Generally for best performance most people prefer Linux - RedHat or CentOS being the first choice of distro.
3. Choice of Database
If you are planning to use linux then preferred database in Postgres
4. Amount of RAM
No fixed answer for this but here are some suggestions from the Atlassian website.
- For upto 50 projects, upto 100 users, 5000 issues – 16GB RAM, multicore CPU
- For uptp 100 projects, upto 3000 users, 100,000 issues – 32GB RAM, 2 Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (16 logical cores)
5. Monitor the Traffic
Use tools like Awstats and Google Analytics. This will help you immensely in understanding the peak of traffic.
6. Document your Configurations
If you plan to use JIRA for 3 difference Use Cases like Test Management, Software Development and Helpdesk System then create 3 separate documents to store all the configurations. You can also use excel sheet if that is more convenient, the idea is to finalize all the configurations before you implement them in JIRA and never modify the configurations in JIRA without storing them in the document. These configuration documents will help other JIRA administrators who will take over your work in your absence.
7. Setup a CCB - Change Control Board
If you are responsible for managing JIRA for your organizations then various teams and users using it will come up with various enhancements and new feature implementations in JIRA. Never directly modify the customizations in JIRA directly without going through a change control board, where you should analyse the impact of that change on the instance.
For example adding a new value in a select list might look like a simple customization but if other teams are also using the same custom field then they might be surprised with this new value and might get confused. If you had used contexts then this problem would not come but it is good that you you know the impact before implementing any change.
These things which I mentioned above are just few pointers that will help you and it comes with experience. I have worked with MNCs where I have implemented big JIRA instances. The JIRA Training that I provide covers all such good practices and help any new administrator before the actual implementation.