views:

43

answers:

1

I began using a bugtracker (www.bugnotes.com) so I am new to this... And I am easily adding bugs, makes sense. However some of these bugs would be fixed if I were to implement a given feature or perform some refactoring. So how can I track todo-list type things effectively, and don't these kinds of tasks tie into bug tracking? I guess what I am asking for is tool that tracks both bugs and features since they are all code changes.

Oh and putting minor fixes as #TODO or //TODO: is great actually, I like this for minor things, just not big things like refactoring, or changing a driver or a library.

Also, I was using a text file but the problem with that is that so much of what is typed into there becomes old and therefore the whole thing is kind of useless to me.

+1  A: 

Any bug tracking system can be used to log bugs, features or general to-dos, as each is comprised as some form of work unit. The advantage of storing these in a bug tracking system is that all outstanding tasks are visible and can be prioritised. If you rely on TODO in the code then it is difficult to see these at a glance and hard to prioritise or see where you are with them. As a result, in my experience if you rely on TODOs then the list of these only ever gets longer. If you have some code that is incomplete, I think it's better to turn the TODO into a bug entry and then replace the TODO with the bug id, so you have a link between the code and the bug. A side benefit is that when you actually do the work and commit to version control, you can also add the bug id in the checkin notes and so you've got a permanent record of when the change was made.

If you have lots of TODOs already then it may be worth looking at a Hudson continuous build system, and add the Static Analysis plugin, so that you'll get a daily graph of the number of remaining TODOs, cross referenced with the source. That will at least present everything in one place and give you a burn down graph as you fix each TODO.

the_mandrill
I agree with @the_mandrill. We tend to log any new piece of work that needs to be done as a 'bug' in our bug tracking system. We have added our own categories so that we can mark them as 'enhancement' or 'refactoring', but since it's all in the bug tracking system, it can be prioritized and tracked along with any other bugs/units of work that your team has to do. It's a paradigm shift, for sure, but it's one that works well for our team. My bug tracker shows me all units of work (new code, bugs, feature requests) that are assigned to me at any given time.
elduff