33 Top Tools and Resources for Software Projects

Startup Tools

Working on a new start-up? Below is my list of must-have Top Tools and Resources for Software Projects. These are the some of the tools that I have enjoyed using in the past. Please feel to add your own in the comments.

Requirement Gathering

  • User story is a tool used in Agile software development to capture a description of a software feature from an end-user perspective. The user story describes the type of user, what they want and why.
    Check out – http://www.storyboardthat.com/articles/software-development/agile-user-stories
  • Mind Map is a diagram used to visually organize information. A mind map is often created around a single concept, drawn as an image in the center of a blank page, to which associated representations of ideas such as images, words and parts of words are added. Major ideas are connected directly to the central concept, and other ideas branch out from those. Mind maps can be drawn by hand, either as “rough notes” during a lecture, meeting or planning session, for example, or as higher quality pictures when more time is available. Check out – http://www.mindmapping.com/

Text Editor
Bracket is a modern, open source text editor that understands web design. Honestly, I have tried couple of editors in the past like Sublime, NotePad++, TextPad, etc. but by far Bracket is the best.

Mockup tools
My all time favorite is  Balsamiq. Click here for an article from mashable – 9 Excellent Tools for Design Mockups. Also, check out MockFlow (design UI workflows). I have heard good reviews about them. Another similar tool, I have used is GenMyModel . Worth giving it a shot.

Project Management
The best in my experience for small team Project Management and Todo tasks is Basecamp. Basecamp’s unique blend of tools is everything any team needs to stay on the same page about whatever they’re working on. Check it out – https://basecamp.com/

Database Design
You can use locally hosted tool like SQL Management Studio or SQL Developer to design, develop and maintain databases or you could online tools like Vertabelo.

Web Dev, Debug and API Tools

  • JSFiddle is an online playground to code and share code, this time with many flavors of JavaScript. Check it out – http://jsfiddle.net/
  • Koding is a software development in an online environment with lots of social activity. It’s StackExchange + Facebook + Cloud9 + Virtual Machines + a few other things. It’s a great idea and worth a try. Check it out – https://koding.com/
  • Regular expression tester with syntax highlighting, contextual help, video tutorial, reference, and searchable community patterns. Check it out – http://regexr.com/
  • Firebug is a free and open-source web browser extension for Mozilla Firefox that facilitates the live debugging, editing, and monitoring of any website’s CSS, HTML, DOM, XHR, and JavaScript. This one tool i cannot live without – http://getfirebug.com/whatisfirebug
  • Fiddler is a free web debugging proxy for any browser, system or platform. Check it out – http://www.telerik.com/fiddler
  • Rest API – One of the best testing REST API services is Postman. Please give it a try at https://www.getpostman.com/. Another super cool Firefox extension I have used before and love it is RestClient for Firefox. And of course I cannot miss out on swagger.io API Framework.

Team Messaging
Slack brings all your communication together in one place. It’s real-time messaging, archiving and search for modern teams.

Task Management
Trello is the free, flexible, and visual way to organize anything with anyone.

Issue Tracking
Undoubtedly the best in this space is Atlassian Jira.

Version Control
Stash (Bitbucket) – Git, your way. See what makes Bitbucket the Git solution for professional teams.

SourceTree is a free Mercurial and Git Client for Windows and Mac that provides a graphical interface for your Hg and Git repositories.

Build Tools
Integration build tools have plenty to do. They fetch software from the SCM, figure out dependencies, compile everything to make the deliverable product, package it up, and even deploy to test servers. Few nice Integration tools include:

IDEs in the Cloud
IDEs are traditionally used locally, on the developer’s workstation; however, some companies, including Cloud9, Compilr, and Nitrous, want developers to use their hosted IDEs in the cloud.

Continuous Integration (CI)
Per Wikipedia, Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day. It was first named and proposed by Grady Booch in his 1991 method,[1] although Booch did not advocate integrating several times a day. It was adopted as part of extreme programming (XP), which did advocate integrating more than once per day, perhaps as many as tens of times per day.

The CI server that everyone has heard of is Jenkins, but there are plenty more. Others include JetBrain’s TeamCity, CruiseControl, and Atlassian’s Bamboo. CI servers are also available as cloud services. Hosted CI has the added challenge of connecting with other hosted services. Codeship and Travis can all read from GitHub and write to Heroku.

Really useful links:
What are some great online tools for startups?
Top Startup Tools
Startup Tools by Steve Blank