Tools for personal coding projects
Wednesday, November 21, 2007 – 7:45 PMI’ve been starting to do a bit of a side project recently and doing some evaluation of the tools I’ll be using to do this.
Visual Studio. No question. Very occasionally I’ve seen jobs where the requirement is to use Notepad… Seriously. Translation – we like our developers to waste time and get frustrated. Be more productive use the best .NET development IDE in the business. VS 2008 can only make that better.
Source code control
You need this. You really do. Don’t think you can get away without it.
You can self host your SCCS. Subversion is a great open source project you can leverage and lots of people use it. If you want to use a commercial product then SourceGear’s Vault has a free single user license version. Self hosting puts the onus of backups on you and probably means your code will only be available on your home machine.
Another option is to pay someone for some hosted space. Numerous companies offer this, the Subversion project maintains a list of hosting services. One that caught my eye was CVSDude who offer 2Mb of free hosted space – fine to get you started with a small project. If you’re planning to go public and/or open source then there are a number of obvious options. CodePlex (TFS) and SourceForge (CVS/Subversion) just for starters. Both of these are free.
Currently I’m using SourceGear’s Fortress (Vault + project management) largely because I wanted something hosted locally. Fortress has a free single user license, largely to support the Micro ISV community. Why aren’t I using VSTS? Well I was on a budget and it has a lot of features I wouldn’t need.
Continuous integration
For a project with only one developer you don’t really need a CI server but you do need a build script or some way to automate your entire build/test process end-to-end. MSBuild is fine for this. If I feel like it I can use CC.Net to run this in background during coffee breaks.
Backlog, task and bug tracking
As I mentioned above I’m using SourceGear’s Fortress. I do this in conjunction with a couple of files I store in my project’s solution.
Backlog.htm – A numbered list of user stories I may want to implement. I might move this into an Excel spreadsheet as it starts to grow.
Issues.htm – A bulleted list of issues I need to clarify or spike on.
I’d also highly Micro-ISV: From Vision to Reality. This covers much of what’s here in greater detail. It’s a great read for anyone thinking of starting a small software project for money or simply for fun.
7 Responses to “Tools for personal coding projects”
I like the idea of keeping a backlog & issue list in source control for smaller projects. Currently I keep a backlog/issue list in google notebook for personal projects, and more than once being able to see the document history would have been helpful.
Another nice source control option you may want to check out is Perforce. They offer a free version for up to 2 users and 5 workspaces so its nice for personal use. Also it integrates well with cc.net. There are a few IDE integrations, and from what I understand a set of msbuild tasks floating around but I’ve never used them.
Matt
By Matthew Otto on Nov 21, 2007
> I do this in conjunction with a couple of files I store in my project’s solution.
It may be worth taking a look at Mingle from ThoughtWorks – (http://studios.thoughtworks.com/mingle-project-intelligence).
This is free for teams of 5 and less and it has a really nice interface for handling user stories and issues – the excel import feature is also very good.
By Jay McGuinness on Nov 22, 2007
For a CI server I must recommend the Hudson CI server. It has support for MSBuild, NUnit, NAnt and the most common SCMs. You can find it at http://hudson.dev.java.net. Dont be scared that it is written in Java, we are using it in 100% MS environment at work without any problems or glitches. I find it much easier to configure that CC, and it looks so much nicer.
By redsolo on Nov 24, 2007
I’ve found TortoiseSVN is absolutely brilliant for personal projects. In fact, because it’s such a usable explorer plugin, I use it for virtually all of my personal files.
It also means that I can back up everything really easily by just burning off the database.
By Ian Hickman on Nov 25, 2007