What does scalability actually mean?

What does scalability actually mean?

So recently the question of scalability came up on an NI forum post. Stephen Loftus-Mercer (aka AristosQueue) made a very interesting point. He talked about how scaling can mean many different things to many different people. A solution that is scalable on one axis might not be scalable on another.

Scalable is in the eye of the beholder -- it is always relative to application needs. Fabiola's solution is more scalable, meaning that because you only need a single value to store "latest value", you can always send the pair to C just by using the one that just arrived and the latest value of the other one, possibly with a flag that says, "Already sent this, don't reuse." But both solutions might be scalable enough for your application.
 
Whether or not it is scalable enough is hard to answer. There are different types of scalability.
Memory scaling: If your actors are very fast and have little latency, the queues might not get that big. Or they might blow up a lot.
Performance scaling: If your system has a lot of things going on, those queues might get large and suddenly the timestamp comparison becomes a performance bottleneck.
Implementation scaling: If you hardcode in two queues into your Root, then you have to hardcode in a third. But if you make it an array of queues, then you can freely add more actors.
 
Scalability is a question only you can answer for your situation.
Stephen’s post on the forums

So my question is:

When you talk about scalability, what exactly do you mean?