You don't necessarily need an elaborate system. You don't need to follow GTD to the letter. But keeping stuff written down (in a reliable, visible place) is a huge mental relief.
Though I tend to find this is more useful for weekends when I have to figure out what maintenances tasks to do than anything to do with programming.
For development, another approach is to just learn to live with the Katamari ball. Yes, my project has about 1500 open "bugs"/issues. That's life. The only todo-ed-ness that I accept is that I need to at least look at the incoming list and deal with them somehow, but "clearing the list" isn't on the table, so why stress about it at all? Some people can't seem to do this, so they'll have to seek other solutions, but this works for me.