What sets apart a professional from an amateur or hobbyist in any field, is how well and efficiently a job is done with minimum expenditure of resources (read time, effort and money) while returning the maximum possible gain. Therefore in any field, the tools employed by the professional in getting the job done are of paramount importance. Ditto in the software world. While sometimes we require the extensive features and dedicated support that a priced tool offers, at other times, we just need a tool that gets the job done. It also helps if its free and does not hurt if it's user friendly. In a series of posts, I plan to cover a set of useful tools at the disposal of the software community at large, with each post covering an aspect of the software development life-cycle. These posts will be iterative, meaning I will re-visit an area already visited, if I come across new tools, not already reviewed before.