A Tax Worth Paying: Thoughts on Backwards Compatibility and My Experience with FME
Matt Ball over at Spatial Sustain posted an interesting insight from the Bentley Systems conference underway this week in Amsterdam. Apparently, Bentley’s developers speak internally of an “integration tax” that they pay as they develop their software. This “tax”, which presumably acts as a drag on what would otherwise be unfettered forward progress, is the price that they pay for their commitment to backwards compatibility in their software.
I found this quite interesting, because as far as I know, this was the first time I’d heard of a vendor in the geospatial space speak openly about this constraint and the cost it entails.
Backwards Compatibility is Difficult
As our own FME developers know very well, we also hold this principle in highest regard. Indeed, it is enshrined as the 4th of the “6 Commandments of Safe Software Development”, which have served us well for the nearly 10 years since they were first drafted. (At the time, we left ourselves a bit of room for 4 more, which thankfully we’ve not had to use up yet). With each release, we strive extremely hard to ensure that anything that worked before, will work again. We do reserve the right to speed it up though – going slower is also against the rules.
Turns out that this is a hard thing to do. Very hard. We don’t refer to this as a tax at Safe, instead, we’ve often referred to it as handcuffs! You need a significant development and test infrastructure, dedicated and smart staff, and a willingness to make thousands of tough decisions to pull it off year after year.
The Importance of Making Sure that Everything JUST WORKS
But making things backward compatible is important.
Unfortunately, the public has been trained to be very suspicious of new versions of software. This is because they’ve been burned so many times by things that used to work no longer working, or by features they liked being taken away. And so they shy away from moving to the latest release. Which is a shame, because all of the good effort that went into the new version can end up not being leveraged as much as it should.
Anyone with a Mac or iPhone or iPod or iPad knows the near frictionless experience of moving from an older model to a newer one. Everything JUST WORKS. Our goal at Safe is to make moving to each new release of our software just as easy.
I’ve been using the betas of FME 2012 (as have a few of you) and can’t wait until it’s released. Well more correctly, I can’t wait until all of our users start using it and leveraging another year of the efforts from all of us at Safe. Right now we’re doing our best to make sure that when it comes time for our customers to install, everything JUST WORKS. Its tough, but I can’t imagine doing anything else.
Your Take on Backwards Compatibility?
If you’re using our software, what has been your experience when moving to each new release? What can we do better? I’m even more curious to hear from those who hold back from using the latest and greatest.
And if you’re not using FME, what’s been your experience in general?
[youtube start=48s]http://www.youtube.com/watch?v=4TAtRCJIqnk&feature=youtu.be&t=48s[/youtube]
A potential scene from the upcoming Mel Brooks movie: “History of Safe Software Part I”