Software you might like
MyLifeOrganized (mylifeorganized.net, Windows/Android/iPhone/iPad, but not Mac) allows you to make any task dependent on the completion of another. So, instead of being forced to choose between sequential or parallel tasks in a given project, you can have a mix. For example, you might have 5 tasks, two of which can be done right now, but three of which depend on the completion of others. You can have the two that can be done right now show up as next actions while the others won't pop up until their respective predecessor tasks are complete.
The main reason I stopped using it is that there is so much to tinker with I kept tinkering instead of getting things done.