Where does the TODO convention come from?

Programming is a world-wide activity; conventions to help smooth the process of working with people who are not native speakers of each other's languages are worth their weight in gold. TODO, XXX and FIXME are often highlighted by IDEs, which provides an excellent incentive to stick with these options.

  • XXX suggests a danger or hazard that maintenance programmers must be aware of;
  • FIXME insinuates that something is wrong with some implentation which needs to be changes;
  • TODO explains shortcomings that would be nice to address.

TODO means "to do". Something that someone will need to do. Just guessing, but could this guess be wrong?