I don't actually think that aged very well. Joel's company has been renamed after a product that's two years old, and his mature product has been fading in the market as newer alternatives like Jira and Asana and (ironically) Trello take over its market share.
Building mature software can take a long time, I agree. It depends a lot on the complexity (an operating system is obviously more complex than a solitaire game).
The part I disagree with is the idea that you get to done. Photoshop is a great example. It's over 30 years old. Would Photoshop still hold its market position if it reached maturity 20 years ago and said "we're done?" Ignore UI changes and support for new OSes for a second. Would Photoshop be the market leader without Camera RAW support? High Dynamic Range? GPU acceleration?
You don't have to agree with every change they've made, but there's a lot of serious features that got released after Year 10 that are need-to-have features. I don't think Photoshop 5.5 was the last Photoshop professionals needed.
Meanwhile, Affinity Photo is only four years old, and while if you had to choose between them Photoshop still has a lot of things Affinity doesn't, I'd pick it over Photoshop 5.5 in a heartbeat.
> But that’s just the first ten years. After that, nobody can think of a single feature that they really need. Is there anything you need that Excel 2000 or Windows 2000 doesn’t already do? With all due respect to my friends on the Office team, I can’t help but feel that there hasn’t been a useful new feature in Office since about 1995. Many of the so-called “features” added since then, like the reviled ex-paperclip and auto-document-mangling, are just annoyances and O’Reilly is doing a nice business selling books telling you how to turn them off.
> So, it takes a long time to write a good program, but when it’s done, it’s done. Oh sure, you can crank out a new version every year or two, trying to get the upgrade revenues, but eventually people will ask: “why fix what ain’t broken?”
Seriously, who works on a piece of software for 10+ years? Usually within 2-3 years one has to throw away most of the code as it was written in an obscure, low adoption language, or it is just so difficult to maintain that new features can't be added. Except for SOA or mSOA where parts can be replaced at any time.
> Usually within 2-3 years one has to throw away most of the code as it was written in an obscure, low adoption language, or it is just so difficult to maintain that new features can't be added.
Just because you've been working on shit show projects that doesn't mean all projects are mismanaged like that.
Please put in a bit of effort. Off the top of my head, Postgres, Office, Qt. In yesterday's Blender thread they discussed it and Maya, Autocad, 3DS Max. Web? Jquery, Drupal, Wordpress.
Billions of in-house apps, for companies > ten years old.
> Usually within 2-3 years one has to throw away most of the code as it was written in an obscure, low adoption language, or it is just so difficult to maintain that new features can't be added.
So you've never worked in good code, that's all. Most of the world runs on software evolved over greater than 10 years. Everything you said is wrong, because you've been surfing trendy crap that businesses mostly ignore. Good architects don't use immature languages that might not be around in 10 years, they're smarter than that.
https://www.joelonsoftware.com/2001/07/21/good-software-take...
Sure a CRUD MVP can be cranked out in six months or less, but that's not what we're talking about.