The rationale behind amortization isn't exactly the idea that the asset can be sold, it's that the asset is producing revenue over multiple years. For software, the asset is the codebase.
Let's say you hire a single software dev, for one year, and they write Excel++, which you can sell for the next ten years. It would be entirely appropriate to amortize the cost of creating that software over those ten years, based on the matching principle (a fundamental idea of accounting, matching expenses with revenue).
The issue in the real world is that's not how the software industry actually works, 99% of the time.
What would be a more appropriate model from accounting perspective?
Part of the complication here is companies generally really like amortizing stuff. It lets you smooth your profit across years which is usually better both for tax purposes and for your financial reporting for the market. So this kind of change is fine or even good for a company like Google, but can really suck for a small bootstrapped SAAS. This is why I'd allow companies to pick, with some degree of latitude.
You must have misphrased what you intended to say. If what you wrote was true, a software company's most valuable asset would be the specific programmers in its employ. If true, average tenure of a programmer would be way longer than 1.5->2 years as companies worked really, really hard to keep their most valuable assets from walking out the door into the doors of another company just to get reasonable pay increases.
Perhaps your opinion is influenced by doing post-collapse-sales of a whole bunch of software houses that built just plain bad software? I can't see why else you'd be selling "software IP" independently of the rest of the business.
Anyway. Given that information, how should you have phrased what you wanted to say?
if anything, the amortization should match copyrights or patent lengths