Hierarchies 馃槱... One of the biggest recurring time-consuming issues I sometimes encounter is making decisions about _where_ to put some (new or exisiting) code/feature, i.e. in which package, new or existing, considering: functional fit (topic), structural fit (pre-existing data format conventions with the rest of a package), and if possible, not introducing new dependencies as a result of new feature... Sometimes these three aspects are mutually blocking each other and it's so time consuming to figure out a solution...
I've got very similar issues with most other static hierarchies (e.g. directory-based file systems, hierarchical websearch directories etc.) and why I think tag-based systems (with intersection/union/negation ops, not just single categories) are a superior way to organize large collections of knowledge (counting source code here too as a form of encoded knowledge). It's also one of the reasons I've been experimenting with and building tools with completely flat collections/graphs and then use queries & transclusion to assemble/extract/select functionality on demand... Need to prepare some screen recordings to share more of those tools/experiments...