The future is about scale?
Michael implies essentially the following argument:
- Compared to *anything else*, Java EE has easy clustering (most web apps need only flip a switch!). And there are lots of clustering choices.
- Clustering == Scalability
- Scalability == Future-Proofing
I like this argument, not because I agree with it, but because it got me thinking. Especially about #3, that (scalability == future-proofing).
The future is about change!
Future-proofing is about being prepared, so that future events do not render IT investments worthless. I worry about three categories of things that might happen in the future:
- We need to do exactly what we do today, but 100s of times more of it.
- We need to adopt up-and-coming techonologies. Right now a good example would be Ajax.
- We need to do radically new and different things
The first category is what Michael is talking about: doing lots more of what we already do. Certainly this is important, but usually it is the least important of the three categories. The most important is the last one: being ready to do new and different things. (Or am I wrong here? Which of the futures categories is important to you? What platform choices do these different categories imply?)
Who Cares About the Future?
The other thing I would call into question is future-proofing in general. Forget future-poofing, what most projects ned is some present-proofing! Make sure your entire development effort is systematically on-time, on-spec, and on-budget. Then, worry about the future. I know far too many projects that were always ready for the future, but somehow never got around to even shipping in any particular present.