If I said:
“The rise of the warp driveis more than just another speed shift that gets people excited. It will undoubtedly transform the space transportation industry, but it will also profoundly change the way people work and companies operate”
You would almost certainly say “Well, duh, but warp drive doesn’t exist”
And that is my problem with this statement:
“The rise of the cloud is more than just another platform shift that gets geeks excited. It will undoubtedly transform the IT industry, but it will also profoundly change the way people work and companies operate”
—The Economist, “Let it Rise,” 10/23/08 (hat tip: Mike Patrick)
I’ve spent the last 6 months getting very familiar with cloud computing, and I struggle with this – not that I think it is wrong, but that I think it is farther away than many think. Not as far away as warp drives, but still, not something we’re going to see change the industry in the next 2-3 years – maybe 8. (people generally overestimate what can be done in one year, and underestimate what can be done in 10).
Right now, CC is a concept looking for a business practice. Amazon EC2 is nice, but you wouldn’t want to build a typical web busines on it, because your costs would grow linearly with demand, and that’s not where you want to be. Google Apps are nice, but they seem only modestly easier and cheaper than your basic virtual server hosting package
(for example, I pay a whopping $5/month for a server with lots of resources for my blogs and Bellygraph)
Cloud Computing has to thread the needle of “wow, I can build a business on that”, and I haven’t see it do that yet. I could be blind to evidence, I could be caught up in my outdated web 2.0 dogma, but, on the other hand, I want CC to succeed. I just haven’t seen the evidence.
Most of the common problems I see thrown around as “CC killer apps” don’t work for me:
- Turn on a server as necessary: This is already getting pretty easy with virtual servers. Also, if your app isn’t designed to take advantage of N servers, having access to N servers doesn’t help.
- Scaling applications: we already have Akamai and other CDNs to scale delivery of images and other big objects, and they already move the data close to the user.
Here’s the kinds of things that I think would allow CC to take off:
- automatically scaling web applications, at minimal incremental cost – this is CPU, filesystem, memory and database scaling – literally you write your application, and you don’t have to worry about where the data is, or the CPUs or anything – everything parallelizes automatically.
- flash mob insurance – a way to hook in to a CC system to let your website scale automatically when needed, and then dial back down when not. Again, you need your app to be designed for this.
- Low-cost massively parallel analysis – this is something we can do today with Amazon, but it is cost-prohibitive. Plus there’s not enough demand out there to build an industry on this
- Minimal latency applications (such as multi-user games) that automatically migrate to be closer to the customers
I think there’s a potentially interesting opportutnity for online gaming using just the solutions we have today – if you make the game’s “real estate” follow the network topology (that is, if you’re using the Level3 network in North Atlanta, you’ll be able to interact with other people who are using the same Level3 network). That would give the users a heightened experience (reduced latency), and scale well with demand, but it would require a very different kind of game.
But I have yet to see the game changer. I wish I could, because I want to believe
As discussed by Uncle Bob
Is it true that an expensive handbag is better quality than a cheap handbag?
Is it true that $150/bottle wine is always superior to $20/bottle wine?
No?
Is a “Ruth’s Chris Steak” clearly better than a Waffle House steak? Yes? Then why does Waffle House sell so many more steaks?
Software quality is not always a function of price. Bob provides a number of good points about how to improve quality without increased cost, but there’s the other side of the equation – sometimes people are willing to accept lower quality (steak, for instance) at a lower price.
If the generally agreed-upon “acceptable level of quality” is unacceptable to you, it’s because you’re a snob. I should know - I’m one myself. There are game companies I refuse to buy software from, because their games are buggy and/or hard to use. I have delayed in buying some productivity software for several releases because I was disappointed with the behavior in the early releases. That’s income that the software vendor did not get, because of the poor quality of their software.
There’s an equilibrium there – if the quality of software drops enough, people will vote with their feet, and choose the software that has higher quality. Even if it is more expensive. There’s nothing magic about software – it’s a product just like any other, even if the quality is hard to see. It is there, and at the right place and time, it will be important.
But just because the generally accepted level of quality is lower than you would like does not mean that software will inevitably be crappy. You should just expect to pay for that extra quality.
And if your answer is “I shouldn’t have to pay extra for quality”, I suggest that you go to Ruth’s Chris and demand a Filet Mignon for $4 and see how far that gets you.
I guess this means I fall into the “quality isn’t free, but it is a product differentiator” category.
Interesting counter-take on Agile development with a hero-programmer model.
This is just one example, but it would be interesting see if other examples support or counter this experiment.
My previous experience suggests that the less complexity you send overseas, the better you are. which means that you need people locally who can control the complexity and come to (relatively) fast agreement on complexity-containment strategies and tactics.
Mark Levison has some good advice for those Agilists who find themselves out of work. My only quibble is with item #1:
Get an email address with your own domain name. Having hotmail/yahoo/gmail address just looks unprofessional. Domain names are cheap and you can alias your domain to a google apps or any other acct. It just looks better.
I agree that yahoo, hotmail, aol, etc look unprofessional. However, gmail, IMO, is not in the same boat. And I say this as someone who has many “vanity plates” – undefined.com, bellygraph.com, picobusiness.com, statusme.com, enterpriserails.com, indefinitearticles.com, agilefaq.com (actually, that last one would be great to build up if I were unemployed).
Speaking only for myself, I find it much harder to keep track of an email address if the domain name is long and/or uses dashes. It’s so much easier to say “gmail”. Your mileage may vary.