But over designing from the start goes against the Agile philosophy. I’ve met far too many people that get caught up on the details of how they’ll scale their app before they’ve even had a single user.
My advice to them. Get your first 1,000 users and then start worring about how to scale to 10,000 users. At that point you can worry about 100,000 and 1,000,000 users. And then about scaling to Facebook size.
Of course thinking things through at the start is always good, but no matter what you do, you’re going to have scaling challenges in the future.
Twitter may have had trouble scaling. I don’t know what the exact issues in the company were. But if they’d had thought too much about scaling at the start, would they have even made it big enough for scaling to ever be an issue?