Feature complete, as long as you add more features

Published 2026-09-06

tag(s): #random-thoughts #failures #programming

When I wrote about organizations being complex, I touched on the topic of organization sizes:

Whether all orgs need to grow, companies in particular, is a different topic. I am firmly of the camp that most of them need the opposite, to stabilize at a small-to-medium size. And they grow more than that because of market/financial reasons, rather than organization health.

A few days later I read a post or article (don't remember where, and it seems I didn't save a link) about how software never seems to be done and everyone is constantly adding new features and over-complicating their products.
Of course this rang true, it made me think of Zawinski's law. And then I pondered a bit more on it and connected it the passage I quoted above.

Speed to market matters, you need a bigger team

The title assumes speed to market is always the most important thing, which is questionable. I won't deny that it matters, maybe even that it matters a lot. I feel there's a bit of a worshiping about releasing as soon as possible.

But it would make sense that teams grow as you ramp up development and pick up delivery speed.
Then, what happens after you had a couple major releases? When you move into maintenance and bug fixing, and you don't need that many people.

Fear of letting go

Let's say your product/app/website has 3 major modules. There are three senior developers that did the design of each one.
Even if things are thoroughly documented[1], companies will fret letting go of those three people that had a major role designing or writing a module. So they hang out sometimes longer than they are truly needed.
And if a feature or module is perceived as critical, sometimes this same fear applies to a whole group of people.

(How this fear enables toxic behaviour, either on devs holding companies hostage of their undocumented crap, and companies stunting career development because they don't want to let a dev move on, could be an entire other post)

Organizational preservation

No manager will be OK with a reduction in head count, out of "organizational preservation", a kind of survival instinct.
As long as "head count I manage" remains a metric to measure people's importance within an org, this won't change.

Letting go of people is (was?) a bad look

At least, it used to be. Nowadays there are a lot of ways this is spun into positives...
But until a few years ago, a software company letting go of developers was seen as a sign that they were in trouble.

Putting it all together...

There are organizational and market incentives that conspire against commercial software ever being done.
Just like orgs increase in size for reasons that are unrelated to their own health, software companies keep adding features for reasons unrelated to their products health.

I don't think I discovered anything new, but I thought about it long enough that I felt like writing it down. 🤷🤓

Footnotes
  1. This is an idealistic scenario =P

Share your thoughts (via email)

Back to top

Back to homepage