Essential Tools for Software Developing Companies

It’s a long time which I’m working as a software developer for some Persian companies. In these years I face with some issues and also feel some happiness because of available tools in different companies. So I decided to provide a list of essential tools which every software company should have and without them, there would be some problem.


GNU Logo

GNU Logo

‪Title : Essential Tools for Software Developing Companies

‪Publish Date : 05/05/2010

‪Version : 1.0

‪Author : Nasser Hadjloo

‪Author Mail :

‪Copyright (c) 2010 Nasser Hadjloo.

‪Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation;

‪with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.




Source Control – It is the most important tool which a software developer companies should have. It is no matter you have only ONE or two developer, you have to own a source control, I wrote an article on how to select a source control before. (I prefer Team Foundation Server)

Test Tool – these tools help you to create robust codes.

Cruise Control .Net

Cruise Control .Net

Continuous Integration (CI) – A CI is a set of tools which let you create nightly build. (I prefer Cruise Control (.net))

In-House Framework – There are always many same classes in rest of your applications, so try to make an in-house framework and put those over there.

Clear and Complete Documentation – this help you and your new developers to easily join the team and know that what’s happen before? Or How to use a method?



Issue Tracker – It is another good tool which helps managers to manage their developers. These types of tools, give you a completely clear view of your current status of your applications. (I prefer JIRA)

Service Desk – This software separate Developers from Support team and let them work with free mind. They are only responsible for the issues which included in Issue Trackers and this let your developers be sure that those are not supporter but a real developer. (I prefer OTRS)

Monthly Calendar – A monthly calendar help developers to be aware of companies worksheet and free their time up when company needs them.

Fast Computer – It is an old famous subject so I don’t talk about it anymore.

Two Monitors – This is the same as fast pc.

Separate File, Domain, SQL, Source Control and Build Server – It is always a good Idea to have separate server for each mentioned servers. Those are really important in a software developing company and any latency in responding will make your developer angry.

Good Work Condition – This is another famous issue to have a good and silent room which has a good air conditioner and blah blah blah.

Weekly Session – This let your developers know about each other and work progress.

You can extend these tools with some others but in my opinion these are essentials and there is no excuse for these Items, if you lose one item you will pay for it ASAP.