I would like to optimize the way I manage my todo list. My tasks are, for a large part, related to C++ coding but also include readings, presentations, research... Lately I discovered the @todo command in doxygen, which is pretty cool for the coding part. I would like to keep a clear track of all my tasks in one big tool though. Any ideas ?
|
|
|||||||||||||||
|
Avoid Task-TagsUsing Issue TrackersIn general, I'd say the best way to track tasks / TODOs is with an issue tracker (like JIRA, Bugzilla or Mantis, or more complete solutions like trac, or hosted ones that come with private repos like on BitBucket, GitHub or Assembla). It sounds heavyweight, but if you use a good one it works wonders, mainly because you get things like:
Hosted ones have the advantage that you'll have access to your tasks whereever you are, as long as you have an internet connection, and you can still export a list as text when you plan to be off-line. Task BoardsOtherwise, task boards are becoming very popular with Scrum, Kanban and other methodologies. You can use dedicated task boards* (like Trello), or you can use a plugin for an issue tracker (like GrassHopper for JIRA). * virtual or physical, though I prefer virtual ones for backup purposes obviously... you can always display them on a wall with a big screen or a cheap projector We still have some task tags in my team though, but usually they are just short-lived reminders that we leave in the code in-between commits or as warnings for very fishy legacy code that we deal with very carefully. And to not lose track of them, we have presets for several IDEs to sort of enforce consistency in the task tags' naming convention, and we also integrate some tools in our build to detect them (for Java projects, Maven can produce a report with all detected task tags, which is handy to review them and convert them to actual tasks in your issue tracker if deemed relevant, and to keep an eye on urgent / critical FIXMEs and stuff like that). Alternatives and Tips
|
|||||
|
|
A plain old text file used as a diary/journal works well for tracking both to-do items and anything else about a project that you want to remember. I try to add a line or two whenever I make a decision, notice something I want to get back to later, have an idea for an improvement, etc. Some items get called out with a first word like "BUG" or "TODO". I keep mine in reverse-chronological order: I enter items at the top of the file. A development journal really isn't a replacement for a bug tracking system. It's more lightweight -- since I almost always have the file open, adding something is very quick. But it's not as easy to search, not as organized, not as powerful. It's a log, not a database. Still, it can be a good way to help yourself become a little more organized. If all you need right now is a way to avoid forgetting tasks, it can be a very helpful tool. Many IDEs will let you add a file type or build rule that will ignore a given type of file, so you can add your project journal right to the project and have it available all the time. Remember to check it into version control for safe keeping! |
|||
|
|
|
What I generally do is to create some sort of include file that just has comments in it. It can be bugs, todos, testing criteria, whatever. That gets included in the project, and for each item I have a resolution, resolution date, my initials and if necessary, a brief description of what was causing the bug or unexpected behavior. A couple of times it's saved me a lot of time later on, being able to go back and reference those lists when a similar weird situation occurs. Additionally, you can also look at the code in that project and cut/paste a ready made (or nearly) solution. |
|||
|
|
|
I use two quasi discrete systems for most todo items I follow the Getting Things Done process and use omnifocus to keep track of the items. I agree with the issue tracker suggestion above. I personally use redmine as my tracking system and then use MYLYN integration with my IDEs to track the items. I really like they way that I can understand specifically what files have been touched and focus via MYLYN. |
|||
|
|
|
TODO comments in code are still Ok (for personal projects). For anythying else: a kanban board, migrated from physical board to self-made software-based one. Look in my blog for details. There are also a lot of online options. |
|||
|
|