Scalability works in two directions

When talking about scalability in the context of software, it is always about being able to handle more: users, data, network traffic, etcetera.

That might not be without trade-offs: it is important to consider scalability to any size, so including smaller sizes.

Scalability

It is also important to keep a reasonable middle ground. Some projects are going too far with their minimalism (and end up externalizing complexity), and some other software is going too far in complexity. But some other projects might go too far in portability, and you end up in an ifdef hell.

Scalability, portability and low complexity should go hand in hand. If I can deploy, configure and modify your tool on Microsoft Azure or a Samsung Galaxy S2 running postmarketOS with the same ease, you’ve probably made a good tool.

Example metrics:

Example software: