I think many software projects should be called “done”, but startups hire lots of people and add tons of new features in the name of growth.
I’m working on a SaaS service that does one thing really well, and I think it’s pretty close to being done. The code is very solid, and I rarely see any bugs or error reports (thanks to React, Immutable.js, and Flow.) The infrastructure is autoscaling and requires very little maintenance (thanks to convox.)
There’s always more features and integrations I could add, but I’m getting enough customers without them. It will require some ongoing work (e.g. updates for security vulnerabilities), but I’m not too interesting in trying to turn my table into a house. I'd rather follow the Unix philosophy and build a lot of very nice tables.