Thread labels/tags instead of subforums
Allow "labeling" of threads (as gmail does) rather than putting them in subforums (folders, following the gmail vs traditional email example).
It is ultimately much more flexible - folders/subforums are a strict subset of labels/tags. This allows for perfect backward compatibility - you could leave the structure that you have in place, just when a user clicks "c++" under "software development", it would just show them all of the threads with the c++ label. This allows "old school" users to go about their business without even knowing anything changed. But "bleeding edge" users could take advantage of mutliple-labels on a thread. Basically it lets 2x (or more) the audience see relevant posts. There are certainly plenty of times when a post could go in both "game design" and "c++" (just as a silly example). I would never see the post if it was only put in "game design" (since I am a c++ dweller), but I would if they tagged it as "game design + c++".