In my work, I have always found that the main "blocker" (I hesitate to use the term "bottleneck"), is human nature.
If we design stuff to be used by humans (what I generally do), then it's imperative to take basic human nature into account, and that can be incredibly annoying.
Annoying, or not, human nature is a major factor, and won't go away, no matter how many times we tap our heels together. I think it was Philip K. Dick that said "Reality is that which, when you stop believing in it, doesn’t go away."
Designing stuff for processes and machines to consume, is pretty straightforward. Designing stuff for humans, however, is really challenging (which is one of the reasons that I like doing it).
> and that can be incredibly annoying
One thing you have to be careful of, mostly when working on internal tools, is that you don't end up building around the idiosyncrasies of one particular person. This is something that actually happens in some places.
I actually find "bottleneck" a nicer word than "blocker" here (although not sure if "nicer" is what you are going for). I really like building for humans and the only times I've ever truly felt excited about being a developer is when I've had direct contact with my customers. It can be very trying, but the payoff is always nice.
What a great quote from PKD! He had so much insight into what the future would become.
Does human nature explain the difference in regulation and therefore progress between US and China Pharma?
I mean to say: Yes it's certainly a factor, but we're also leaving fences in our own way.
Anything digital basically has the chaos fuzzed out by its binary nature.
The analog gets all the real entropy.
Humans are cool because our distribution is exploring the future curve of what is possible in a hostile universe and to do that successfully over time we have to have the humility to always have someone unsure of even our most basic facts.
Sucks for most of those edge distribution humans but good for the species.
But this is why our criteria of reasonable is aligned with the center of distribution and why we have colloquial statements like "if you design for everyone you design for no one".
I would go further and say that the human should be the bottleneck/blocker. If not designed for and to serve humans, which means to have human in the position of power and control and take in account all the various human oddities, why are we building all of this?