Tuesday 29 April 2014

"ColdFusion today is a uniquely irrelevant product"

Some of my elves put me onto this (no, I do not really have elves, but the person probably doesn't want to be identified as the person bringing this to my attention).

Here's a video presentation by Gojko Adžić entitled "How I Learned to Stop Worrying and Love Flexible Scope", which is about - at least in part - on how to plan a software road map. That in itself is moderately interesting. I have not watched the whole lot, as the streaming quality for me is very choppy, and it's a bit frustrating to watch/listen to.

But what is fascinating is that he's chosen Adobe ColdFusion's roadmap, and their general approach to software releases as the model "how not to" situation.

This is the document he points to:

(from this URL: "ColdFusion RoadMap" (pdf))

And this is what he has to say about it (apologies if I don't transcribe it 100% accurately... I was just stop/starting the video and noting it down). This is from about the 28:30 mark. All emphasis is mine.

An interesting thing about ColdFusion that... is really really kind of pointing towards this is that... did any here build websites in the 90s? There's a coupla people. Do you remember ColdFusion in the 90s? ColdFusion was the platform: it was Ruby on Rails times 500 in the 90s. ColdFusion today is a uniquely irrelevant product. And I like to think it's because of that: it's because they plan their roadmaps like this.

And this is brilliant kind of for many ways, because if you look at all the buzzwords today it's kind of enterprise, social, mobile and cloud. Kind of in the first they do mobile and they do enterprise. In the second they do kind of ah ColdFusion.... the third one is cloud and AWS and... the second is mobile again and kind of there's "social" somewhere over there. So it's brilliant: it's all the buzzwords in one. It's a real nice PowerPoint slide; people can agree and tap themselves on the back and then you children can go play in scrum. Come back in nine months.

So. This is not a road map. What Parchinksi [sp.?] says is kind of roadmaps should have a relationship should have a concept of selection, a concept of survivability. And this is not a roadmap. The reason why this is not a road map is because ther road map as a word has a very precise meaning. It's this [picture of a streetmap of Budapest]. The trick is in the name: it's a map of roads. It has lots of options. If I wanna cross from this side of Budapest to the other side. Which one is Buda and which one is Pest? Or is this? This is Buda, yeah? So if I want to cross to Buda from Pest, I can take this bridge or I can take that bridge or I can take that bridge. If this bridge is conjested, you know there is a traffic jam, that's OK! I can just go and take the next bridge. If everybody is expecting this bridge to be conjested so everybody goes over there [...] there is competitive advantage: I can be there earlier. It doesn't matter which one I take; there's lots of options. Now we need to be much better at planning our software like this; with roadmaps like this.

And this is not a roadmap it's a road. And this is a road that's going through a tunnel, where you go in on one end and nine months later you come out and then you realise you're at the wrong place. This is not giving people a competitive advantage. Lot's of unexpected things can happen. Meanwhile we won't even know about that. The let [road(?)] turn into competitive advantage. Where we kind of if we can plan our software roadmaps like this, we can actually get our companies to benefit from flexible scope [...]
I'm pleased he didn't know the original version of that "road map" suggested CF11 would be out last year:

And that would be more like a nine month journey through the tunnel. As it happens we're up to more like... what 15 months? It was about a year ago I joined the pre-release (and quit six weeks later in disgust), and it'd been going for a coupla months or so before I joined. That's a long tunnel journey.

Anyway, I posted this because I couldn't agree more with what Gojko says here. Adobe have completely the wrong approach to software development for the 21stC, and thet also seem to be careening headlong, lights off, through a tunnel to the wrong destination. And it's interesting that of all the possible products Gojko could have picked on here, ColdFusion was the best example of how a brilliant product became irrelevant due to mismanagement of its direction.