views:

602

answers:

9

This might be a stupid question, but if I'm a lone developer and only ever going to be working off of my development laptop, how important is using bug tracking software? I am currently debating between using Subversion or SourceGear Vault as my VCS of choice, and SourceGear has an integrated bug tracker (Fortress) while the Subversion world tends to use something like Trac.

Now, I am going to use my laptop for both home and work projects (I have an MSDN subscription for myself, and seeing as work is too cheap to buy me anything I'm going to write their software on my laptop to use it; we have this specified in my contract that I own all the code I write as though I was a consultant, although I'm an FTE), and at work I'm going to set up Subversion since it's free and there's no budget (so I guess that means I should be using SVN at home too). A bug tracker might be beneficial at work to keep track of things once the software is done, but what about for personal use?

Remember, my laptop is only going to be for development, so I'm afraid if I put SVN on it (gotta keep that repo separate from work's, after all) and then Trac or something else, I'm going to be turning it into a mini-server, or is that a good thing? And I haven't even looked into a CI solution yet, but honestly I do not see the point of CI if you're only going to be using a single machine. That might change for the future, but for right now all my work is going to be done on this one laptop.

Any suggestions?

+2  A: 

Subversion and Trac don't take up very much of your system resources especially when they're just sitting there waiting for you to use them.

I'm working on a small project, just 2 full-time developers, but I find I use our bug tracking software (Jira in our case, similar to Bugzilla), even just to keep track of my own bugs and issues. Easier than trying to remember the details of a bug when you get time to work on it later, and there's a very satisfying feeling to checking off issues after you've resolved them.

I'd stick with something simple in your case, even just a dedicated to-do task list in Outlook would probably suffice if you don't want to spend too much development time setting up a dedicated system. The important thing is to have a way to know for sure you've solved all of the bugs that were reported.

alxp
+3  A: 

A VCS is important whether you're working alone or not.

Really, it should be there for those moments when you realize you've made a mistake and want to rollback to what you had yesterday or this morning, or maybe you've just made a different decision in the implementation and want to branch so you can test things out without effecting the core of what you've written so far.

All in all, it is a nice thing to have. And you're better off being safe than sorry.

As far as the bug tracker, that is more your personal preference. I like Redmine, which integrates with SVN, git, etc. Others prefer Trac. But either way they will be able to run on your laptop while taking a minimal amount of resources. Especially when you consider that you're the only one using them.

I would check out http://bitnami.org/ they offer packaged Bug Trackers that you just execute and it will start its own little server on the port of your choice, and you can stop it when you're not using it.

DarthNerdus
+4  A: 

I think you should go with FogBugz. It's online, free for 2 developers, it integrates with your source control. I think bugtracking is second to source control in terms of project management especially for a single developer. You need to be able to tell when you've fixed all the reported bugs so you can predict a ship date on a feature etc etc..

An automated build process will take a huge burden off of you to be able to create your software on demand (in case of deletions etc). A CI process may be a little overkill but automated builds rule.

If you're worried about putting it on your laptop but still want to roll your own you can go to slicehost and get an ubuntu box for a subversion/trac solution online for 20 bucks a month. I do this for some of my personal projects...

Jason Punyon
I'll definitely check out FogBugz. My main concern was whether or not to look for an integrated solution like Fortress, or combine other technologies to make a solution (e.g. SVN, Trac)
Wayne M
+1  A: 

I would agree with JPunyon that you should use Fogbugz for bug tracking. I use if for my personal stuff and it is brilliant. While a bug tracker is not essential (though useful) if you are on your own, Source Code Control is essential. My product of choice is now Perforce which provides a fully functional 2 user copy you can download and use. It takes up very little resource and is easily tranferable when you upgrade machines. Theres a bit of a learning curve, but its worth it.

Toby Allen
+1  A: 

The real value of a bug tracker is that you don't lose track of anything that needs to be fixed. This is probably more important if there is only one of you as if there are more because there is no one else to remind you of what you have forgotten. I can remeber a project in the past where we had a simple typo type bug and only one application developer (I was the db developer) and he didn't have time to do it the day the CEO brought it up and a couple of months later when the CEO noticed it was still there he went ballistic. When you are juggling a whole bunch of tasks and possible bugs, it is very easy to lose sight of something (especially something you think of as trivial). That incident resulted in us getting a bug tracker and putting all tasks not just bugs into it and it was one of the best things we ever did. Just being able to say to the client when he wants something new, "Well here is my current list of tasks. How important is it compared to these things?" makes it worth its weight in gold especially when you are the only person. It will help you develop time estimates to and give you a place to document discussions and decisions concerning the task so no one can come back later and say they didn't know you were going to do that.

HLGEM
+3  A: 

You might want to consider an online repository and/or tracker/planner in addition to your local one. It's another stage of risk management and if, in the future, someone else joins your team, you can scale up just by granting them access.

Some options:

Source Control (Online):

  • Assembla - Public source is free, private repositories are paid
  • Source Forge - Open source only
  • Google Code - Open source only
  • Git Hub - Public source is free, private repositories are paid

Bug Tracking/Project Management

  • LightHouse - Unlimited open source, paid private projects
  • FogBugz - Full version is free for up to two developers
  • BaseCamp - Paid only
  • Trac - Not hosted (although Assembla hosts it), open source - Python
  • Bugzilla - Not hosted, open source - Perl
  • Mantis - Not hosted, open source - PHP
VirtuosiMedia
A: 

It is mentioned that he has an msdn subscription. Although it's not my favorite version control system to use, Sourcesafe is very easy to set up and use, and not a bad solution if he is the only one using it (which it sounds like).

And yes, you want to use something to track bugs, even if it's just a simple list in Excel (or ) so you can keep track of what's still broke and what is fixed. I've done that before on small projects I have worked on.

pfunk
A: 

Although not an explicit bug tracker, you can use tiddlywiki which is a great wiki in a self-contained HTML file, which makes it easy to have it under version control.

The reason I'm mentioning this, is because sooner or later, you will want to take notes in addition to the bug listings.

Hope this helps

Maher Gamal
+2  A: 

If you develop on your laptop, you probably work offline often (I do). Consider using bug tracker which doesn't require internet connection to operate. You may check Artifacts - simple, works offline and has Visual Studio integration.

glider