For years, I used trackers for this. Bugzilla, Jira, Trac, etc. pp., you name it.
But no more. Modern agile methods use simple record cards to keep track of defined tasks. Trello (by FogCreek, Joel Spolsky et.al.) takes that to the next level.
Define card boards with custom lists, attach files, checklists, comments, assignees to cards. Share the thing or collaborate privately. The UI is slick and intiutive.
The thing is totally free-to-use (I would even pay for it, hell) so I use it for everything now (your data-paranoia-issues may vary). See an example (my current day job) behind the link.