Shreyas Prakash

Finished softwares should exist

2 minutes read

Some blockbuster software products should just end the cycle of endless iteration.

The conversation around product development needs to take seriously the idea of “finished” software, alongside the more common belief that “software is never perfect and always needs improvement.”

These are two different schools of thought and have a lot of friction to coexist with each other. I lean toward the second, but I still wish more people explored the first.

I see three variations of the “finished software” idea:

  • Freeze model: a clean, final version is frozen and maintained by the community.

  • Modular architecture: a stable core with optional plugins, like Obsidian or Figma, allows for open-ended customization without bloating the base.

  • Dynamic software: the standard model, where new features are added continuously under the banner of ongoing development.

My guess is that it evolved through sales-driven development: Every time a potential enterprise client would have asked the JIRA team for one more additional feature, the team would have been a “yes man”, to close the deal. Over time, everything would have added up to become what it’s today. Personally, using JIRA feels like there are 10 different traffic lights across 10 different roads with cars honking at each other, and you’re exactly at the inter-intersection.

It’s a get death by a thousand cuts. My sincere hope in writing this, was a public plea that no software should end up like JIRA. It’s a version of Ashby’s Law: increased complexity demands more control, and eventually the system collapses under its own weight.

One product can’t serve all use cases forever. When you try to make the same software work for startups and Fortune 500s, you end up bloating it for one group and alienating the other.

To keep software “finished,” you need a philosophy of refusal. You need to say no — even when it costs you. There is an optimal stopping point.

But saying no is hard. Additions look like growth. Subtraction doesn’t. And almost no one wants to stop, because the economics of growth, customer segmentation, and sales strategies reward motion, not stasis.

I wish Slack, Gmail and Google had just frozen. Instead, it kept going, adding agents and LLMs into every nook and corner of the app it could find. I doubt that will stop.

Found a typo or want to suggest changes? Send a PR on GitHub

Subscribe to get future posts via email (or grab the RSS feed). 2-3 ideas every month across design and tech