Research around JIRA vs TFS


By: Carlos G. 
 
An opportunity came from a colleague to discuss the case of company “X” for improving the ALM by introducing tools to this company. The challenge was to decide between Microsoft and Attlasian.

He came to me because I’m a Microsoft kind of guy and he wanted the opinion from my perspective, not as a consultant, but as a friend of what he was trying to accomplish. He said that even though I was inclined to a technology I was able to explore other things and be “fair”. I agreed to be a part of his research because of 3 things:
  • because of my curiosity I'm always willing to learn new techy stuff.
  • Sometimes is good to be the dumbest one of the group. You learn so much!
  • This was a story that I could blog about. (Of course no names are used in this post).
My first impression was thinking “cool”; let’s compare Visual Studio TFS vs JIRA. Immediately I got a comment back with: “Sure but JIRA by itself is more like an issue tracker in simple terms”. That said I noticed that I knew too little about it and before doing a “battle” between products I should find out more about them.

My second take was: “I want to implement a solution that benefits the team and therefor the company”. It was not about what tool was better but rather about helping the team on having a better collaboration with an efficient way to deliver better products.

His technical team if formed by: Microsoft, Java, objective C, Ruby and front-end developers; mostly seniors, with a couple of Solution Architects and technical leads. The development team (including QA manager and QA analysts) was a total of 30.

Before We Start
This article is not about going deep into each product. It is more about what was explored, consider it an introduction for those that are getting a little curious about this subject and are considering on using some of these tools.

INSIGHT NOTE: Doing research, POV, LABS within a group and not by yourself (as I normally have to) it is so exciting. That is when the right set of people with the right attitude and similar goals come together. The ideas and knowledge transfer (collaboration in general) flows naturally. It has been a long time since I’ve done that and I had to say it felt really nice.
This research took 4 weekends (I joined in the last 2) of conference calls, video chatting and the cloud (a true collaborative experience I have to say). The team of now 4 (with me) was divided in 2 groups:
  • The 2 with Visual Studio and TFS knowledge (not necessary experts) went through JIRA.
  • The other 2 were assigned to Visual Studio TFS.
In this article I’m trying to be as impartial and fair as possible and also very general. I’m not saying in any way that one product is better than other, it depends on the scenario. If you have any comments or anything to contribute please send me your comments and let’s start a constructive conversation/discussion about it.

The story
As the production team always busy working on designing, developing and QA’ing applications for their clients the decision was to find the proper set of tools (ALM, CI, Source Control and others) that could help them. There are a bunch of tools out there but selecting the correct one, where one of the keywords is integration, for your organization is where it gets interesting.

As I said before, consider this more as an introduction article, so in that same note let’s read some definitions:
Application Lifecycle Management (ALM): it refers to the management of a product in all the different phases involved in its creation. With that we are talking about project management, requirement management, software architecture, software development, QA, maintenance, change management and releases/builds.

There are systems (either unified under one product or an integration of a group) that attempt to provide the tools to make our life easier when we are going through the process of creating a software solution.

Continuous Integration (CI):The practice, in software engineering, of merging all developer working copies with a shared mainline several times a day” – quote from Wikipedia.  It is intended to prevent integration problems when going through deployments.

Here are just a few of them:
  •  Microsoft Visual Studio TFS
  • Teamcity
  • Jenkins
  • Bamboo (from Atlassian)
Version Control System (VCS):  a system that allows us to manage the file changes around the development. The files can be documents, programs (or files related to an application, website, library), images and others.
Here is a list with the popular ones:
  • TFS
  • SVN
  •  Git
  • Mercurial

The case
In this case we had:
  • 10 C# developers incline to Microsoft technology.
  • 10 on the other side of the fence.
  • The front-end developers.
  • The QA team.
  • An already CI system implemented (Teamcity).
  • A division in terms of source control: SVN and Git.
  • Bugs and issue tracking flying in emails.
Parenthesis: one thing to keep in mind that we are talking about best practices and tools to support them but the main thing is that all this is for people to use, therefor the company and their members should be willing to implement and use it properly to increase the productivity, otherwise the complete opposite happens along with throwing away money.

While we were going through the research, and our possible solutions to bring together communication, documentation, automation builds; we also started to think about scalability. The first part was to improve the efficiency within the development team. The future was to see if we could also add the project managers into the mix making all these groups working together as one: project managers, QA team, development team, and build/implementation admins.

ALM in Microsoft world:
The Visual Studio TFS has it all for the ALM.
  Picture from MSDN
   Cool features to know about:
  • You can use it with Git for your source control.
  • There is an existing plugin for integrating TFS with JIRA.
  • CI/builds
  • Collaboration
  • Modeling and Design
  • Report progress
  •  Test and track progress for each milestone.

JIRA:
This is an issue tracking system by Atlassian , which defines it as a tracker for teams for planning and building products, used for capturing and organizes issues, assigning work and follow team activities.
As an issue tracker it has heavy competition out there:
  • TFS (as we have talked in this article)
  • YourTrack
JIRA by itself is just a subset of what Microsoft ALM complete suite offers. But that is not the complete story. Atlassian has other products that combining them gives you a complete ALM system:
  • JIRA for issue tracking
  • Bamboo for CI
  • Confluence for team collaboration

To continue the comparison both (Microsoft and Atlassian) offers cloud-based or server installation:

What was our conclusion?
At the end, even though I had to say Visual Studio TFS was my preference and it is a great option, we had to be objective and consider the right option for the complete team and the conditions around us. We studied:
  • The budget approved considering 25-30 users.
  • POC and the need to present the case in a way that this approach could be implemented in a short-period of time.
  • Using existing technology. For source control they have SVN and Git. The intention for them is to continue migrating to Git (they were using BitBucket  by Atlassian). Instead of a thought we made that a statement and put it in the plan for the next month to accomplish.
  • For CI they have teamcity. There is already a plugin for integrating JIRA and teamcity. Note: We did not go through the implementation and assumed this will work as expected. 
We ended up selecting the JIRA issue tracking service. Bitbucket is already an Attlasian tool that they will integrate with JIRA. The developers felt comfortable (90% of them) with the solution as they already knew Git and they were moving the Source Control from SVN to Git anyway.

This solution right out the bat is solving having the issue tracking flying via emails and it is using the same provider that will provide their new source repository. Part of the team was already familiar with the Atlassian products and it would not be hard for the others to adjust.

In terms of budget and based on their team this seems as the better option for them. What was finally added to the case was a request for a revision 6 months post implementation for evaluating the feature JIRA agile project management.

Summary
It is not fair to compare TFS and JIRA as they are built for 2 different things. Jira is an issue tracker while TFS, if using the full suite, is a complete ALM.

For those who think that TFS is a “close solution”, we know that can be integrated with other 3rs party source control and issue tracking systems.

Choosing a solution is about evaluating the current state, scalability, integration and the team that will be using the tools.

It is the providers (Microsoft , Atlassian or others) job to sale you their tools as the best ones not yours.
In this particular case they are both really close depending on your needs. So it is your job (VPs, Architects and/or Seniors) to select the one that better suits the company and it is going to help bringing you work to the next level.  Budget is important, but also listening to the main resource (your team), that is the one using the tools on the daily basis and building your apps, is important.  

When considering a tool and checking the budget for the implementation make sure to consider what you are going to spent and what are you going to save (or gain) in an X period of time for determine the real value and cost of the initiative. Something that is really cheap might cost you a lot in the long run and vice-versa.

Previous
Next Post »

11 comments

Write comments
Carlos A.
AUTHOR
January 27, 2014 at 4:03 PM delete

Also for more Visual Studio TFS Express remember you can check it for free for 5 users. take a look at my dashboard key options. Not only the top menu but also see that allows connections from XCODE and ECLIPSE. http://4.bp.blogspot.com/-Hbl9_0KG_IM/UubI2C2H1uI/AAAAAAAAAtw/1XMEFA6i_sc/s1600/my+TFS+express+board.png

Reply
avatar
Carlos A.
AUTHOR
January 27, 2014 at 4:03 PM delete

XCODE connecting to TFS: http://www.visualstudio.com/en-us/get-started/share-your-xcode-projects-vs?fwLinkID=331465

Reply
avatar
Carlos A.
AUTHOR
January 27, 2014 at 4:03 PM delete

Share your Eclipse projects with TFS: http://www.visualstudio.com/en-us/get-started/share-your-eclipse-projects-vs?fwLinkID=331467

Reply
avatar
savitha singh
AUTHOR
May 6, 2015 at 6:02 AM delete

Thanks for your informative blog!!! Your article helped me to understand the future of .net programming language. Keep on updating your with such awesome information. .net training | Dot net training

Reply
avatar
Lucy H
AUTHOR
July 31, 2015 at 6:41 AM delete


Looking for a career in technology industry? Wonder what are the languages that will give just the right start to your career?
Over to the hottest programming languages you can learn in 2015.

Reply
avatar
Geetha
AUTHOR
March 25, 2016 at 3:30 AM delete

This blog is impressive and informative.It clearly explains about the concept and its techniques.Thanks for sharing this information.Please update this type of information
selenium Training in Chennai

Reply
avatar
Geetha
AUTHOR
March 25, 2016 at 3:31 AM delete

very informative blog. Helps to gain knowledge about new concepts and techniques. Thanks for posting information in this blog

Reply
avatar
Carlos A.
AUTHOR
July 4, 2016 at 9:11 PM delete

Thank you for your comment Geetha.

Reply
avatar
vijay antony
AUTHOR
April 21, 2018 at 2:06 AM delete

I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.

Best RPA Training in Bangalore

Reply
avatar