It would seem to make the most sense to have some sort of global queue of bugs and features where I work on each one to completion one after another. But I've found it more productive to listen to my energy levels and the other unpredictable factors like it. Sometimes I'm at 1%, sometimes I'm at 1,000%. Sometimes I hit a writer's block where I'm stuck til I make progress in unrelated features/bugs. Sometimes I'm just burned on one subsystem yet am motivated to make progress on other subsystems. Sometimes I don't have enough contiguous uninterrupted time to tank and spank a hard subsystem. Sometimes I have to invest time on systems that aren't even visible to users. It's just the nature of choosing among imperfect trade-offs and finite resources. Unfortunately that does mean some subsystems and features languish far longer than I'd like.