DIGG IT!
24
Comments
Published
Thursday, June 11, 2009
at
9:49 AM
.
Over the past few years I have found that keeping an updated prioritized TODO list for app development is really essential. The TODO list habit started out of the need for me to stay focused but evolved into prioritizing what I was working on ranked by risk. Software development is essentially a game of risk management as any part of an application can quickly become very complex and suck the life out of your development schedule. We have all been there, the aspect you think will take the least time time ends up taking the longest for some odd reason. The TODO list helps me stay focused on the high risk elements early and forces me into a fail early, fail often model of development. I really like getting the hard problems out of the way first and slowly working towards an ever more stable release with constant lower risk refinement.

Ted on Twitter - @__ted__
Ted on Adobe Groups
Ted on LinkedIn
Ted on Facebook
Ted at Adobe
TODO list is useful. Have you tried Mylyn? It makes development a lot easier.
I tend to use ASCII text in notepad/Textmate. I guess I am stuck at doing things as simple as possible.
Mylyn looks nice!
Ted :)
MyLyn is http://www.eclipse.org/mylyn/
Agreed, Mylyn rocks. I use it in combination with Trac and it has made my workflow much smoother.
Slightly different but along the same lines is the issue tracker you get with services like bitbucket.
This has been invaluable for times when I revisit something after a long break and wonder what the heck I should start on. It also acts as a great motivator when I see that list getting shorter and shorter.
It's my development carrot. :)
Hey Ted,
I've been using todo lists, be it on a napkin or simple text document for some time, and totally agree, helps you stay focused, not forget things and prioritize easily.
I've never gone full blown with the whole GTD approach, but I have been using Things from http://www.culturedcode.com/ on my mac and my iPhone (it syncs super easy, even across multiple installs on separate machines to one iPhone) and it has made things even easier for me. You can make it as simple as you want, or adhere to nearly all the principles of GTD with a few exceptions. It also integrates really nicely with iCal as well.
I also use a little custom SWF panel in Flash to handle random todo's - had heard of Mylyn, going to take another look at it now. Definitely something to be said about simple text files and handwritten notes, but I am really productive with Things, can't recommend it highly enough, its well worth the cost.
I use backpack from 37 signals for my To-Do's really like it.
+LA
Mylyn is nice but its a bit difficult to get running in Flex/Flash Builder. I've also seen issues with builder after Mylyn was installed. Its also dependent on connectors being available for your bugtracking system and it seems only JIRA and Bugzilla have stable connectors. I use Mantis so its a dealbreaker for me.
Without a connector you can set up a local task list which has some value, but I think there are better To-Do list apps out there. If you're running OSX check out "Things" by CulturedCode. There's even and iPhone app to sync with.
https://tasktop.com should definitely be mentioned here. Its a commercial incantation of Mylyn and has significantly more connectors available.
Except for the occasional //TODO: comment in my code for something that is nice-to-have in some hypothetical future release, all my TODO lists are hand-written on physical paper. I can't do it in a text file on the computer. I have to have a real notepad of paper next to me to write stuff down and cross it off as I go. For me, it's a lot like how a physical paper book is way better than an ebook on a screen. I'm not really sure why, though.
I use The Hit List for making dev todo lists; love it! :)
http://www.potionfactory.com/thehitlist/
Myln, Basecamp, Fogbugz et al are great for teams. If you're an individual but you still want to provide a kind of real time TODO list for yourself and maybe your client, or even allow them to prioritize things, Google Docs/Buzzword are great as they allow real time updates for several users with absolutely no software learning/overhead/install.
I have used http://www.actionmethod.com/ I love the little notepads and use them all the time but the yearly subscription has put me off using the app.
Another process we've used is to set up a http://sites.google.com/ account for each project and the have a ToDo's List there together with complete project documentation...
Very nice list of apps. But I prefer free alternatives. :) I have used many different TODO apps but for development Mylyn Rocks !! you can easily see the task list and manage it. It doesn't lets you loose the context. I like it because its available within eclipse.
Those who are not into development can use tracks(http://getontracks.org/) it is also based on GTD methodology. And I think platform independent (its a webapp).
ASCII text is still hard to beat.
Ted :)
Absolutely agree, lists help maintain a clear view of your app regardless of where it's at in the development lifecycle.
I'm still writing things down on a notepad...with pen and paper. Glancing down at my scrawled writing when my mind wonders has a powerful impact on day-to-day development progress.
a feature that I used to see in IDEs was automatic generation of TODOs from comments in your code. You would an //@todo and it would be taken into account. That way not only you don't need a separate tool when you're developing but the IDE can take you there at a click. I havent seen it recently though, maybe it fell through?
Don't think this has been mentioned yet but the Tasks plugin for Flex Builder is a pretty good way to handle lists right within the IDE - http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757
Sounds like a twisted form of Agile to me Ted. What is complete = Acceptance criteria?
Ranking by risk instead of value/effort or story pointing.
Scrim
One should not underestimate the power of putting "TODO" items in code. You can do a "Find/Search in Files" via your IDE and easily generate a list of all your todo items.
I'm also a fan of the pen & paper approach. :)
Ted,
Great post. One of the key advantages of using Mylyn or Tasktop beyond the TODO list capabilities is that it tracks the source code that is relevant for each task based on your interaction with Eclipse. For each task, you can focus the Eclipse UI on only the relevant source code. This helps you code faster by reducing time spent searching and scrolling. When you "activate" a task you worked on before, you instantly see the relevant code. This is also great for handling interruptions and then returning to a previous task.
With Tasktop, you can print your list if you need to. You can also generate a report of time spent on each task, adjust it as needed, and upload to a JIRA or Bugzilla server. I hope you take a moment to give it a try.
Wesley Coelho
Tasktop Technologies
"http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757" Is absolutely wonderful!!! Simple, efficient, elegant!
I have at times used MUSTDO comments in the code when something must be done before releasing to live. TODO comments are often for nice to have's