I work in the computer trade and frequently find that when I'm assigned a problem to solve, it invariably happens that other problems need solving before I can work on the real issue. Is there a word for these on-the-way problems?

  • 4
    Good question. I work in software as well and sometimes it seems as if 95% of the work involves this kind of overhead: getting the IDE to work right, fixing a problem with source control, faulty build script, and on and on, until by the time you are ready to fix the four lines of code that were the problem in the first place you're almost too tired to do that. Either that or you've forgotten the original problem.
    – Robusto
    Jan 17, 2011 at 18:00
  • @Robusto, I usually find that once you can actually start working on the substantive problem, a new and more important problem has appeared. Jan 17, 2011 at 18:10
  • Thank you for all your answers, ladies and gentlemen. I don't think we have quite captured the frustration and pointlessness involved in many of these problems, but the replies have been interesting. Jan 19, 2011 at 21:01

18 Answers 18


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

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

  • 5
    I think “lemma” corresponds to something slightly different: they're intermediate results in one's work toward a proof, but they're not essential results, in that they could be worked around. For example, if you climb a moutain, you can do it by first spending the night at first altitude camp (the lemma), but you don't necessarily have to: you could climb another face of the mountain altogether.
    – F'x
    Jan 17, 2011 at 18:54
  • FX_: As someone has studied a fair amount of pure mathematics, I can confidently say they analogise well to a "sub-problem". On the contrary, they are critical points in a proof. Rarely can a problem only be broken down one way, and rarely can a proof be made in only one way (one set of lemmas). It's a pretty useful term. :)
    – Noldorin
    Jan 17, 2011 at 19:20
  • 1
    Subproblem is widely used in computer science for exactly this. AI folk like to talk of goals and subgoals. Jan 17, 2011 at 23:24
  • @FX_: Lemmas might not be essential to the theorem, but they are surely essential to the proof of the theorem being provided. Jan 17, 2011 at 23:25
  • 4
    @Noldorin: Yes, it's a useful term and strongly related to the question, but I don't think it's pedantic to point out that it's the opposite of what the question is asking for. Jan 18, 2011 at 15:38

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.

  • 2
    The word prerequisite is too general for this case, in my opinion. I would even consider it incorrect in this situation.
    – Jimi Oke
    Jan 17, 2011 at 18:44
  • 5
    I think prerequisite is perfect, since problem and solution are general words too.
    – b.roth
    Jan 17, 2011 at 19:10
  • I agree with @Jimi. I was almost going to say prerequisite myself, but it somehow misses the point... it's not specific enough.
    – Noldorin
    Jan 17, 2011 at 19:21
  • 1
    On the "pre-" front there is also "precondition", but to me that suggests something that my be out of your hands. "Prerequisite" has a better conotation in my mind, and I think it would be understood correctly in most contexts. Jan 17, 2011 at 19:23
  • 1
    "[O]ther problems need solving before I can work on the real issue." They sound like prerequisites to me. Sub-problem to me implies that the original problem is being subdivided, which isn't quite what the questioner is saying.
    – user1579
    Jan 19, 2011 at 13:45

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.

  • 1
    Bugzilla uses that terminology. If bug X prevents bug Y from being fixed, then bug Y depends on bug X, while bug X blocks bug Y.
    – RegDwigнt
    Jan 18, 2011 at 10:51

I like "roadblock" or "stumbling block" for that sort of thing.


My preferred term is a "threshold issue." You can't go through until you cross the threshold (resolve the issue).


I consistently use “bottleneck issue” (or “bottleneck result”) to describe this: you have no way around it to reach your goal.

In particular, in technical reports and research planning, I commonly read references to “technological bottlenecks”, i.e. key technologies (or components thereof) that need to be worked out for a full solution to be implemented.


Taken to an extreme you get "yac shaving", but that does not apply only one or two levels in, and may not be understood by non-hacker audiences without some explanation.

In more general managerial contexts you might use the phrase "critical-path issue", but it is a bit of a mouthful and sounds like it is wearing a suit. This also carries some implication about timing requirements: not only is it required, but it needs addressing before any other absolute requirements.

  • 2
    As an aside, when I encountered the term (it was "yak shearing") the seemingly pointless activity only seemed necessary at the time. So the Phd student enrolled at MIT AI Labs gives a passionate but unconvincing explanation of why they had to spend the last two years in Tibet shearing yaks. Jan 17, 2011 at 23:29
  • @Charles: Many levels of indirection certainly lead to the possibility that you've missed a shortcut somewhere. But the real reason for spending two years in Tibet is that you've reached the point where scrubbing your toilet looks better than working on your dissertation, and you know you're in trouble. Jan 17, 2011 at 23:47
  • The Jargon File has "after 2000": I encountered it in 1999... Not often I'm ahead of the Jargon File, Jan 18, 2011 at 0:18
  • @Charles: I once found myself almost prophesied by the jargon file! Someone queried me on my pronunciation of ‘!’ as shriek, so I looked it up and found “Occasional CMU usage, also in common use among APL fans and mathematicians, especially category theorists.” I’m not an APLer, but I am a category theorist, and I was at CMU, and I was in fact the first category theorist there to officially be a mathematician — the various earlier CT’ers had all been in other departments :-) I was quite tempted to take up APL, just to really justify my usage…
    – PLL
    Jan 18, 2011 at 3:01
  • @PLL the first category theorist there to officially be a mathematician - Taking up APL would weaken your claim to be propesied by the Jargon file, since it would mean that the "and mathematicians" bit would be redundant until later. Jan 18, 2011 at 7:17

Besides the "prerequisite" I use "blocking step" and precondition

  • The linked article "precondition" defines it in a way that is not relevant to the question. Need a citation that shows the word used to mean something more like "prerequisite".
    – MetaEd
    Nov 27, 2012 at 22:48

I use the term secondary problem. Secondary work is often used to describe tasks in the way you are mentioning problems. i.e. I want to wrap a package, but first I have to find the scissors. Whether you are describing the thing as a problem to be solved, or a task to do, I find secondary, tertiary, etc. useful to convey that Im working on something, but one level removed from my ultimate goal.

Another term I use is 'blocking' or 'masking'. In dealing with computer programming issues, you often find yourself revealing layers of issues. As you resolve issue, a second issue might arise because you a) got further into the program or b)there was some sort of ripple effect.

You could say issue1 was a blocking issue. Issue2 was not found until Issue1 was resolved.


Speaking metaphorically, your “problemettes” might be:

  • hurdles to be crossed
  • hoops to be jumped through
  • obstacles to be cleared

on your way to the finishing line.


There is a huge variety of "stuff that needs to be done in order to do other stuff". Some of those very specific things (which are not at all synonymous with each other):

  • trailblazing
  • surveying
  • researching
  • planning
  • documenting
  • groundwork
  • legwork
  • prep work
  • capital acquisition
  • parts acquisition
  • building a jig, building a stencil, building a template, building a skeleton
  • sub-assembly
  • training
  • barn-raising
  • sowing the seed
  • watering the seed
  • pruning
  • setup
  • "laying a foundation" (Whether we pour cement to make a house foundation, or drive piles to make a foundation for a bridge across a stream, we use this phrase -- I can't recall ever hearing "pouring a foundation" or "driving a foundation").
  • scaffolding
  • dry run
  • spike solution
  • splitting (before burning a tree in a fireplace, it must be split into small pieces)
  • "sharpening the saw"

While most of these words and phrases describe some specific literal task in the early stages of farming, roadwork, and building construction, many of them are also used as a metaphor for analogous tasks in other fields, or a synecdoche for all the preparatory work in general.

  • 1
    Thank you. I heard myself say the other that we needed to include time in the estimate for "scaffolding" - code we needed to write but which wouldn't form part of the final product. Mar 8, 2011 at 6:51

I call them dominoes, as in there is always some other domino / problem to knock over / solve before you get to the main one.


The term I hear most often is showstopper.


OK, after reading some responses and thinking of this question I'm going to coin a portmanteau. These problems are prequirements. ;-)

  • 1
    I think of a showstopper as an insurmountable issue. If you can't resolve an issue, well, the show's over and we might as well go home. If an issue can be resolved by any means, the show must go on, and that issue wasn't a showstopper.
    – bikeboy389
    Jan 17, 2011 at 18:56
  • That works partly, but I the way I understand it, there's something about a showstopper that makes it an unexpected issue. I mean, when a showstopper appears on your roadmap, you'll have to clear it, but you don't plan in advance for it. But that's only my feeling.
    – F'x
    Jan 17, 2011 at 18:57
  • @bikeboy389 Interesting, I don't view showstoppers as necessarily permanent. Once you solve them of course, they're no longer showstoppers.
    – ghoppe
    Jan 17, 2011 at 18:59
  • @FX_ That's a good point. It's not really a good word if the issue is expected.
    – ghoppe
    Jan 17, 2011 at 19:00
  • I really have mixed feeling about this one. To me it implies an expectation that the situation is either insurmountable, or will take too long to fix. Jan 17, 2011 at 19:26

Not a single word, but this is at least related to a "Critical Event chain."

  • Or "Critical Path"...
    – Ste
    Dec 9, 2013 at 17:27

In [software] engineering, such a problem is called a



If I have to solve other problems before getting to the one I want to/have to focus on, I generally just call them steps: "step 1," "step 2," etc..


In French they sometimes talk about "le ticket d'entrée" - but that's more to do with the up-front cost of learning a new technology (before benefiting from any - hypothetical - productivity gains).

Down-payment? Pinched from another domain, but it might fly. Though it implies money more than work.

Meta-problem? (Meta as in 'before').

I think there is probably a difference to be made between 'drudge/donkey work' (setting up IDE, etc.) and a 'real' up-front problem (something that requires the same level of problem-solving as the actual problem to be solved). Maybe that though will inspire some more answers...


See sine qua non, defined by Cambridge dictionary as

a necessary condition without which something is not possible.

Not the answer you're looking for? Browse other questions tagged or ask your own question.