A Development Environment Survey
We are using Clearcase as source control management, Clarify CRM as issue tracking system in company. We are writing code mostly in eclipse and making builds with ant. We have made a what if scenario last week in company. What can we use instead of Clearcase and Clarify CRM is there any good eclipse and ant alternatives. Code review is also vital for us. We are using a in house developed code review tool. It is tightly integrated with clearcase. Developer add activity ids and send review request to architect, architect add comments etc finally architect approve code changes when everything is ok. Finally developer merge changes.
Issue Tracking Tools
Trac
Trac is a web based project management system, it simple and easy to use. Trac is written in Python. I had a bit hard time while installing trac but if I can install everybody can so I will not say “installation is hard, it is minus for trac”.
Trac does not support multiple project directly and it is important for us. I have learnt that people solved this problem by adding some custom code to trac. But adding custom code needs developer to write and somebody maintain it for this reason I found it a drawback of trac.
Subversion integration of trac is very good. Integrated wiki also great actually trac’s itself is a wiki. We are using Opentext’s LiveLink for document management. Actually we are writing design documents, feature documents in Microsoft Word and we are keeping them in LiveLink. Writing all design documents in wiki would be great for us because you can make links to issues or subversion commits in your wiki too. Making search in a wiki (html) is more effective than making search in lots of word documents. You can not make link from a word document to some page of another word document. Making all of these are very easy with html so with trac’s wiki.
Trac has also plugin api. You can extend trac by plugins. There are a lot of trac plugin. Some of them still under development. Stable ones become a part of main trac distribution.
I have read lots of comments about trac and a common opinion for trac is, trac is best for small size projects. I don’t know why but maybe trac does not scale well when project size increased. We are more than one hundred developer.
Bugzilla
Bugzilla is developed by Mozilla Foundation. Eclipse project, Apache Foundation (moving JIRA) and Mozilla Foundation (creator of Firefox and Thunderbird …) are notable users of Bugzilla. Bugzilla is developed since 1998 so it very mature and robust issue tracking tool. Bugzilla does not have integrated wiki or source control explorer like trac. Bugzilla is just a bug tracker but good one. You can integrate Bugzilla with subversion by using SCM Bug. I have tried SCM Bug and it worked well. You can link subversion commit with a Bugzilla issue if you setup SCM Bug. Commit comments and changes goes under issue as comment in Bugzilla. I have liked Bugzilla its user interface is a bit weird but who cares, you can integrate Bugzilla with eclipse by using Mylyn plugin you don’t need to open Bugzilla user interface.
JIRA
Atlassian JIRA is awesome. It is highly customizable, you can easily create a new workflow which satisfies your needs. JIRA is free for open source projects (JIRA cathed a great momentum by this decision) you have to pay for commercial needs. It is 8000$ annually for +100 developer but I did not found it high. It seems we need some custom development to satisfy our needs with Trac or Bugzilla. We have to hire someone for this or we have to do it ourself but I am sure it will cost more than 8000$ to modify and maintain Bugzilla and Trac. Atlassian also has other tools which integrates well with JIRA. For example Confluence for document management, wiki etc. Crubicle for code review. It is another plus for JIRA.
My choice:
- JIRA
- Bugzilla
- Trac
I will continue survey in Part-2. Version Control, IDE and Build Tools are subject of Part-2.












