I’m a big fan when it comes to technology and tooling used in development. I would use all and any tool that attempts to ease the development. The way I see it is that development is hard work as it is and without the tools, development is basically much less productive.
I often meet developers with unix background, who like the command line and notepad and I always get into an debate with them about tooling. I’ve come to realize that those debates are useless, no one can convince them.
But for me, tooling is simply a productivity gain. My typing is not bad, guess around 70wpm, but I still like clicking on buttons more than typing
I’ve been a little spoiled when it comes to tools as I’ve been fortunate enough to work for an employer who understands the advantages of tools and has given me the freedom to buy/use any and all tools necessary, no questions asked and price has never been an issue.
So I have all the high end tools/gadgets at work. But there is a problem!
Now, I’ve started working on my startup, LocalClub and I miss all those tools…
Since, I can’t afford to purchase them all, I spent the time to research and find free alternatives which may not be as good but still do the job and I thought I should share my list here.
And because I love the software development process, I have decided to take LocalClub through the full life cycle development using the agile methodology.
So here you go:
- When starting on a project, you must start with sketches. You should learn and use this tool even if you’re not a developer. In fact, this should be more heavily used by the business people, to describe their idea and functionality. In the old days, this was done on a paper. There are so many great tools now to sketch out diagrams and real UI elements which will eventually translate into specification. I searched for a free sketching tool for a long time. And then Pencil, which originally was only available on firefox. I must say, I like it a lot, it does the job and it’s free.
- so the agile process demands that you translate your requirements into user stories and smaller components. To be able to do that you need an issue/bug tracking tool. And it’s funny because it kind of implies that it’s only to be used for issues, but that’s not true. The new project and user stories translate into issues in a given project management / issue tracking system. I looked around for a hosted tool that has a free version for small group / startup. I didn’t really want to host this one myself, I wanted a cloud version so I don’t have to go through setup/maintenance. I found a hidden link for FogBugz that lets you register for a free account. And it seems like it has most of features that I was looking for in a bug tracking system. So Thank you FogBugz for still having a free version for small teams / startups.
– So after you have all the sketches and are ready to start the development, you must start with with the architecture and which boils down to coming up with the class diagram, which will then translate into database and coding. I started using NClass, an open source class diagram utility and must say that it’s a great tool. I always start with the class diagram with any project and this tool does that job. It’s simply and easy to use and works great.
4. MSSQL Server Express / Management Studio Express
- well, this is more popular and many should already know. I really do give huge credit to Microsoft for making a free version available to be used by small startups / developers. This combination simply gives you a great tool to build your database with ease. After I have my class diagram, I take that and translate it into a database and again, I love management studio, it makes this step a no brainer.
5. Visual Studio 2012 Express
- I simply can not live without this tool it gives you the full development environment, pretty much everything you need. This is the one tool that the open source community can never come even close to building. A lot of my projects are in php and sometimes I have to go back and use another IDE for php work. And well, I hate them all. Don’t get me wrong, they are great in a lot of ways, but Visual Studio has spoiled me too much. With having built-in in depth intelligence / compiler / debugger / project templates / plugins / unit tests/web server and just too many items to list. It really is an enterprise class tool and we as developers are lucky to have an express version for free. And what I love most about 2012 express is that it now comes with Unit Tests. Unit tests had always been in pro version and higher. With 2012, it now comes in express version, what can I say, Thank You Microsoft.
There you go. And don’t forget, I’m still accepting submissions for the development contest.