Is there a word meaning a problem that has to be solved in order to work on another problem?

I think I would simply call it a sub-problem.

(If the problem is mathematical, there is a specific term for it; lemma.)


A prerequisite perhaps?

For example, I have the problem of adding a new transport protocol to a device. A prerequisite of that is to make the segmentation threshold at the client end adjustable, and a prerequisite of that is to install the tools that will let me build the client.


One term I’ve heard used for this sort of thing is dependencies.

This comes from a common geekspeak etymological process: imagine you were a computer program; then, what technical programming term would apply to this situation? I’d imagine that most programmers would grok this pretty quickly, while most people without programming experience would need an explanation. So whether it is appropriate would depend a lot on whom you’re trying to communicate with.