systemrequirementsscalableextensible

Scalable VS Extensible


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?


Solution

  • 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.