Microspeak: Future-proofing


It has been famously said that England and the United States are two countries separated by a common language. The same holds true for Microspeak.

In the Redmond dialect of Microspeak, we talk about extensibility: Designing a system with specific points where features can be added in the future, often by outside parties. For example, an example of an extensibility point in the shell would be a context menu handler or a namespace extension.

In the Reading dialect of Microspeak, the term for this is future-proofing.

On the other hand, if you use the term future-proofing in Redmond, people will interpret it differently. In Redmond, future-proofing means designing a system so that it continues to function without alteration, even if something happens in the future. (For example, one example of future-proofing—in the Redmond sense of the term—would be using a function like SHGetSpecialFolderPath instead of hard-coding the path to a directory.)

Update: Some folks have taken issue with this definition, and I will have to defer to their local knowledge. I get my reports on the Reading dialect of Microspeak from my contacts there, so it's possible that they were mistaken, or that the usage was peculiar to their workgroup and incorrectly extrapolated to the entire dialect.

Comments (16)
  1. cwinterb says:

    Sorry Raymond but I don’t buy that one. I don’t work for MS, but I do work in the UK and have extensive contact with Microsofties in TVP (Reading) and Redmond. In my experience extensibility and future-proofing mean the same thing on both sides of the pond.

  2. Joe says:

    I’d say that future-proofing includes extensibility as a possibility, but doesn’t explicitly mean or imply it. I’ve always used future-proofing in the Redmond sense (though I haven’t used or heard that term in years.)

    PS. I’ve never worked for Microsoft nor have I ever been in Redmond (or the state of Washington; one of four or five states which I haven’t yet visited.)

  3. Brian Frost says:

    Can’t agree I’m afraid. Here in the UK extensibiliy means just that – a hook to allow us (or the users) to enhance capability. Future-proofing means doing something now to avoid having to rely on extensibility (or re-engineer) to add features that you wished you’d added now.

    Brian.

  4. Olivier says:

    I’m sorry Raymond, but nobody agree with you on this one, so I feel obliged to also disagree.

  5. Steve says:

    You guys do realize this is an opinion blog based on Raymond’s personal experiences, right? Unless you have met all the popel he has met, attended every meeting he has attended, etc, then what you belive to be correct on this subject is no more accurate that what he stated. It’s not like there is a spec on what extensibility means vs future proofing upon which everyone on the planet has signed off.

  6. Dean Harding says:

    "or that the usage was peculiar to their workgroup"

    See, the problem in the UK is that you could live 5 minutes down the road from someone, both of you speak "English" and yet you’re both mutually unintelligible…

  7. wendy house says:

    Gosh!

    My understanding is that Extensibility is one strategy for achieving ‘future-proofing’ Where future proofing means that the system can continue to provide a viable service into the future.  

    Future Prooofing is not Microsfoft specific,  I’m pretty sure that I heard the term used in the UK outside of Microsoft in the mid 1990s

    I’ve definitiely heard UK Microsoft contractors use the term

  8. Sion says:

    Dean Harding, like Scots and Geordies you mean? haha!

  9. Isaac Lin says:

    Though to be honest I can’t recall it being used very often, in our group, future-proofing component X would generally mean designing it so it can meet future requirements without being modified. This includes both designing it to handle more general or a wider variety of scenarios, and designing it with extensible points so future requirements can be met by plugging in new components, without changing the original component.

  10. shane says:

    I’ve always thought these were two different things.

    extensibility is the process of allowing it to be extended and updated for the future – e.g having "plugin" support etc.

    whereas:

    future-proofing is the idea is designing it such that you don’t need to update it for the future.

    For example, writing a web page is basic text vs lots of scrolling marquees etc. You are future proofing against bad pracices in the future by choose neutral means and not using whiz-bang features.

    But this wouldn’t be considered ‘extensibility’ really.

  11. Ian says:

    I think the type of future-proofing where something can be adapted and given new capabilities is the more usual definition.

    But the other definition – something impervious to the future so it will continue to operate as it always has even while its environment changes – is also valid.

    Both are in contradistinction to something that just stops working in the future.

  12. Ray says:

    Maybe it’s time to rename the entire comments section "nitpickers’ corner" instead of "comments"?

  13. Nick Keighley says:

    For those interested in the origins of the English language and particularly American English, Bill Bryson has written a book "Mother Tongue".

  14. GWO says:

    @Ray: Maybe it’s time to rename the entire comments section “nitpickers’ corner” instead of “comments”?

    Really, even when Raymond is clearly wrong, no-ones should be allowed to disagree?  What a peculiar concept.  Personally, I’ll take nitpicking as always preferable to deference.  There’s never been a nitpicking yes-man.

    [I find it interesting that somebody’s experience can be “wrong”. Were you at that meeting? Or are you saying that the people at the meeting were using the term “future-proofing” incorrectly? On the other hand, “That’s not how I see the word used” responds to someone’s experience with your own experience. -Raymond]
  15. SCB says:

    The Redmond definition ("the future won’t break it") makes sense when you compare it to similar words:

    bulletproof

    waterproof

    idiot-proof

    damp-proof

    None of these have anything to do with extensibility.

  16. A_me! says:

    I thought it was funny when [mumble] company started suggesting that people order its computers with half the available RAM slots filled in order to promote "increased upgrade potential."  They weren’t suggesting that you get the most out of your computer, but to make sure that it was possible to upgrade later!

Comments are closed.

Skip to main content