Next action which assumes that program_x is installed
I haven’t come up with what feels like an elegant way of dealing with the fact that actions 2-4 might not be needed at all. Currently I’m nesting 3 & 4 under action 2 and nesting 2 under 1 and either deleting the entire group or completing each action as I do them, but I’m wondering if anyone has a better way of doing this?
The most elegant way seems to be to just not add actions until you know they’re needed. You generally make the decision on what the next action is first, and only then add it into your system.
Check if the program is installed, and if it’s not, add in actions to install, configure and test it if you’re not going to perform those tasks right now. If it is installed, you’ve saved yourself the trouble of entering those three actions.
I think for me, the right question to ask, following on what @PGR said, is: “How much of a project do I need to pre-plan in order for it to make the necessary progress?”
In a lot of cases, I am only tracking one or two next actions on a given project, adding actions regularly based on what they specifically need to be. In cases where pre-planning is valuable, sequential action groups make sense as tools, but so do multi-part tasks. The idea is to make sure you make progress on stuff, not necessarily that you discreetly catalog each and every task you undertake.
In you example above, I would might make a task called “Check if program x is installed, and install it if not”, with URLs of relevance for download/reference in notes. If you want to reduce characters, the task could be called “Ensure program x is installed”, which says the same thing (to me).
tl;dr: the point of tasks and projects is to help things be accomplished, no necessarily that they capture, in detail, all the things you did.