Organized 1 day JIRA and JIRA Agile Training in Polaris, Chennai

JIRA Training in Polaris Chennai
Few weeks back I went to Chennai once again but this time in a different company. I was called by Polaris to conduct a training cum doubt clearing session on JIRA and JIRA Agile. For me it was a great experience and I learned lot of new things too. Especially the level of customizations they are seeking in their instance.

It was just a 1 day session which is not really enough but the agenda for this training was decided before and I too prepared ahead. Unlike other JIRA training sessions where I usually conduct training to cover the topics which are part of standard content, this training was more like a brain storming session where they asked me lot of questions which are related to JIRA and its possibilities. I was glad to see that they already explore the JIRA quite much but were stuck at certain places and needed someone like me who can guide them well.

I can't disclose much about their customizations but will quickly mention the topics we discussed.

  • JIRA Best practices.
  • Useful plugins to extend workflow features like "JIRA Suite Utilities".
  • How to setup Issue Security Schemes and their purpose.
  • How to hide internal projects from customers who will access JIRA.
  • Is it possible to have field level permissions? - this is not possible.
  • How to hide certain fields from the edit screen?
  • How to restrict certain users to create Agile Scrum Boards? - This can be done by modifying global permission "Create Shared Objects"
  • Can be auto populate certain fields? - Use "JIRA Suite Utilities" to add this post function in the workflow
  • What is the concept of Rank in Agile?
  • Can the permission to create groups and role be given to non-admin user? - It is not possible right now.
  • Who can create Project? - Only admin
  • Who can add Project Version and Components? - Project Administrators

These are just some of the questions that they have which I cleared convincingly and rest of the day we tried to understand how Scrum Boards work. They had lot of questions about the Scrums reports, especially the Break Down Chart and Velocity Chart.

Overall it was one of the best sessions I had in recent times. After finishing the day I spent time to modify the JIRA Training Content, because there were certain topics which I though should be covered which I only realized after this session. I guess we learn as we do more and more work.

Primarily I am into Drupal and JIRA these days and I am really enjoying working on JIRA, giving consultation and training to companies, it is really a great experience for me and satisfying.

JIRA Training in India - Best Practices

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,
  • For uptp 100 projects, upto 3000 users,

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.

Organize your daily Schedule - To get more productive (June 2014)

For so many years I am following a rigid schedule for my self. Primarily it is all about waking up early, I have always been early riser and do important things in the morning. I have tried in the past to work/study late but that never really worked out for me. In fact I can hardly do any productive work after 5 PM.

Here is my schedule that I am following these days. I made little change in it, instead of 4 AM I am going to wake up at 3 AM. I really need an extra hour to finish never ending tasks.

  • 3:00 AM - 6:00 AM: Do the most important thing to survive
  • 6:00 AM - 7:00 AM: Go to gym
  • 7:00 AM - 8:00 AM: Breakfast and get ready
  • 8:00 AM - 9:00 AM: Go to office
  • 9:00 AM - 1:00 PM: Primary Work of the day
  • 1:00 PM - 2:00 PM: Lunch & rest
  • 2:00 PM - 4:00 PM: Secondary Work of the day
  • 4:00 PM - 5:30 PM : Miscellaneous tasks
  • 5:30 PM - 7:00 PM: Go back home & rest
  • 7:00 PM - 8:00 PM: Social media promotion & dinner
  • 8:00 PM - 8:30PM: Sleep

I follow this routine everyday, except Sundays when I don't work or work very less. For rest of the days I follow it religiously. Also it is not possible to stick to the schedule all the time, sometimes I have to meet people, travel, but otherwise I don't make any excuses.

Why such a tough schedule?
First of all this is not difficult at all. I realized over the years trying lot of methods to being productive and everytime I came to know that there is no secret method for being productive, except working hard. I remember the time when I was in school, kids have fixed schedule and they follow it continuously for so many years, then in college our way of study changes a little bit, we can bunk classes and also have liberty to "not follow" the schedule.

When we enter professional world, things get worse. We are totally free to choose our schedule. That is why most companies have fixed timings for employees. I believe it is not bad actually you need someone to force you to work hard, of course to some extent only.

Now working in a startup is totally different, you will always have a passion and strong desire to achieve something big, but as a human being we tend to fall for various distractions. Everyone around you will be enjoying life (or they seem to) where as you are working. Your friends will be posting pictures of rafting in Rishikesh and you are busy compiling sass files.

Life is not easy for guys like us, so what do we do.

I am just extra strict with myself, I allow no space to get distracted, I follow a schedule and try to balance work-life so I don't feel exhausted. In my schedule I have 1 hour of time for gym.

I walk to my office, which is like 1.25 Kms from my place, so walk atleast 3 Kms everyday minimum.

I allow myself to check facebook and twitter feeds too.

I do most of my productive, important work early in the morning.

I use tools to manage my tasks
For keeping track of enormous to-do activities I use org-mode, it is by far the most powerful tool and take my word it is the best way to manage not only your to-do but as they say "your whole life".

For all official work we use JIRA, and I can tell you 100 reasons why your company should be using it

For you guys if you really want to get more productive, there is on book that you just can not afford to miss.

The Power of Full Engagement by Jim Loehr

Power of Full Engagement

(This is my affiliate link)

This is one book that you should be reading, it has lot of interesting use case (yeah we IT guys use this term a lot) rather stories of people struggling to manage their work and feeling burned out. After reading the book you will realize how important it is to maintain a balance of work with other activities.

Following a schedule and staying disciplined is most important.

Graceful restart of Apache Server - No downtime, Happy Clients

Graceful Restart Apache

I have been using webfaction for so many years and it is definitely one of the best shared hosting service I have ever used but since last year I felt the need to host sites on a VPS, there are certain things that you can only do when you have full control of the server. The problem with shared hosting is that you can't just do everything (but in most cases they are good enough). Also they RAM they offer is not enough sometimes.

Also our tech savvy clients want to use VPS and good that they are willing to pay for it too :) so that's why we started using VPS last year. When I researched about VPS hosting I narrowed down linode, it is not only affordable but also there support is good, they also have lot of online guides.

Apart from client websites we also use couple of linode machines for hosting our JIRA instance and our internal projects.

Earlier I used Ubuntu which is the most common choice of people but my lack of experience on Ubuntu and my personal love for Fedora and Cent OS forced me to select Cent OS. Also good thing about linode is that they upgrade your machines from time to time. Just recently they upgraded the RAM to 2GB on their basic plan. It is awesome now, especially our JIRA instance is running smooth without downtime.

Managing VPS is not for everyone. I have years of experience working on linux but when it comes to managing a server that will host your client's site, you just can't do thing you usually do on your linux machine locally. For instance you have to manage the memory, make sure there are no unnecessary processes running and you should be able to look into log files.

Most importantly you just can't afford to have downtimes. Clients don't like it and asking them for a downtime is embarrassing for us too.

I am not really an expert on managing Apache but this what I use for reloading the apache on cent OS. Apache needs to be reloaded whenever you do any changes in the httpd.conf or your vhost.conf files or you add a new site.

This command will apply the configuration changes.

/etc/init.d/httpd reload

You can also do.

/etc/init.d/httpd graceful

Both reload and graceful will apply the changes in the configuration without terminating / interrupting any connections. Simple the Apache will first process the request, complete it and then restart, so server will eventually restart but users should not see downtime. Well so far it serves our purpose but there could be a better way.

In any case this is better than full restart, ever since I moved to VPS, we have more power but more tensions too :) though it is good that we learn new things. Hopefully one day when our company Sparxsys grows we will hire an experience server administrator, till then I will have to learn more and manage the servers myself. Why not? An additional role for me.

That is the challenge and fun working in a startup, you wear multiple hats and manage tons of different things.

The problem with this command is that it will immediately terminate all the request currently handled by Apache.

Run Xamp or Wamp on Windows 8.1 by Disabling port 80 PID: 4

Yes the first thing you would say that "Are you using windows?" and the answer is yes I do use windows 8.1 and I am not ashamed of it. I have some convincing reasons to use Windows which I am listing below.

  • I use Corel Draw
  • I really want google drive to sync files on my machine. There is no good free linux alternative for that
  • I use MS Office a lot, especially Excel
  • My new laptop has UEFI boot and I can't install fedora on it, I tried and it didn't work
  • I provide trainings on Drupal and JIRA. In my experience in such cases using a Windows based machine is always better, because in most companies people use Windows for their work and people can easily follow me during the training

BTW I still work on fedora which is installed on my netbook, which I carry with me all the time, taking notes, doing light weight work while I am meeting clients and traveling. At home I have latest Dec 2012 model iMac which I use for video editing mostly.

So my primary machine these days for major work is HP Laptop running on Windows 8.1. Just recently I have taken up development activities in my company and for that I need Wampserver or XAMP running on my computer but I realized that port 80 is blocked. The obvious thing I did was to change the Skype port which uses port 80 by default but that didn't solve the issue. So I searched on the internet and found one thread on and that worked for me.

1. Search for the processes that are using port 80 using the following command.

netstat -nao | find ":80"

2. Then disable HTTP.sys driver by modifying registry values. Follow the steps below.

  • Launch RegEdit.
  • Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
  • Change the value of "start" to 4, which means disabled.
  • Reboot your computer.

That's it.

It really solved my issue. Now I can use port 80, yeah! I could have changed the port in Apache configuration but that is not the geek's way to solve issues. The root cause need to be solved.

This solution worked for me and making changes in the windows registry is not recommened, as it may do some unwanted damage to the system. So be careful before applying this dirty fix.


Subscribe to Ravi Sagar RSS