Scalable VS Extensible

John Vasiliou picture John Vasiliou · Apr 10, 2013 · Viewed 11k times · Source

I'm not sure if this type of question is allowed here, but it is related to software projects.

Is there a difference between scalable and extensible?

Is extensible a sub-set of scalable? I.e. Scalable (extensible)

Some regard it as the same, others regard it as different. What are the differences?

I am led to believe:

Scalable - make the system withstand more usage (bandwidth etc...) AND make it larger.

Extensible - add more functionality to the system.

Are they not the same?

Edit: If extensible is adding more functionality to the system and scalable can be deemed as making a system larger, is that not theoretically the same, proving that extensible is just a sub-set of scalable?

Answer

observer picture observer · Apr 16, 2013

I am not a native speaker but I do think there is a difference.

If sth. is scalable, that means it can adopt to growth. This does not say how it adopts (that is, either by being so well-fitted already that it could take more requests, or by adding more resources of the same type, or by easily changing components).

Wikipedia says:

[It is the] ability to be enlarged to accommodate [some kind of] growth.

In theory it might also refer to a "downsizing" but that is normally not so interesting from an IT point of view.

You proposed:

Extensible - add more functionality to the system.

Possibly, but not necessarily. It might also refer to adding more capacity that serves the same purposes as before.

I'd say:

Scalability means a system is able to accomodate growth. I.e. the system grows.

Extensibility means you are able to (easily) add something to the system. I.e. something new is attached to the system - which does not have to be growth-related.