In Part 1 of this blog series, I presented a rather dysfunctional conversation going on between software consultants and you, their client. I explained what consultants mean when they use the word “productivity,” why it gets convoluted, and how understanding this can lead you to making better choices for your company.
I originally promised that in Part 2 I would go into some specific software products. But I’ve decided to postpone that until Part 3, and first tackle another confusing topic.
Part 2: The Two Meanings of Scalability
Like “productivity,” “scalability” is a ubiquitous buzzword in the consulting world, and is also a pitfall for you.
1. Number of Users
For most web startups, the initial launch of the product would likely have a contained number of users: you, the friends you forced to help you test, and possibly some beta testers. Maybe you’re hoping to be in the tens of thousands in the few months after, with users visiting your site every day. Let’s call that “startup scale.” And perhaps the dream is to have hundreds of millions of users hitting your site constantly throughout the day. Let’s call that last one “Facebook scale.”
The shift from “startup scale” to “Facebook scale” can happen quickly, and you want to be sure that you choose the best technology for it. Refactoring your codebase later could prove fatally lengthy and costly.
Is your blood pressure up yet?
So, that was the scary story that will probably prompt you to constantly ask your consultant “But does it scale?” Your consultant, in turn, will walk the fine line of giving you the answer you want to hear while raising the scope and cost of the project, possibly even creating milestones along the way, ensuring an ongoing, gainful relationship.
My advice is to stop badgering your consultant about this.
The jump from “startup scale” to “Facebook scale” will be significant, no matter what your initial choice is. Companies handling each scale look very different: the former likely has a monthly hosting plan with a provider and spends a few thousand dollars a month for a few dedicated servers, bandwidth and tech support; the latter owns one or more “data centers,” huge facilities crammed with rows and rows of machines requiring constant maintenance at enormous costs. All this spells entirely different software architectures and priorities, requiring different kinds of technological expertise. In fact, you will likely need to hire new consultants when you get there.
(more…)