Developing software can be beautiful, but...
Editorial by Fabrizio Bitti
In recent months, I have been reflecting on some news in software technology and generative artificial intelligence: Sora, an explosive technological product, lightning-fast growth, global hype… and then shut down within a few weeks. Each of us tried to make a video of our dog dancing tap, but every video cost nearly 2 dollars in electricity, and the company created a hole of millions in a couple of weeks just to watch the world’s dogs dance.
It is not the first time, and it won’t be the last.
But the point is not the individual product. The point is: how do you get to the point of creating something only to realize the direction was wrong?
When you develop software today—whether it’s a mobile app, a SaaS platform, or a desktop product—the temptation is always the same: to do everything.
New features, new products, new business lines, new integrations. AI, automation, marketplaces, social layers. Every week a different direction. When you show your product, those looking at it take what is there for granted, but point their finger at what is missing. In a typical meeting, what exists occupies a few seconds, while the focus remains only on what is missing.
On paper, it looks like innovation. In reality, it is often dispersion.
The problem is that every product has a real cost: development, infrastructure, maintenance, support, compliance. If you multiply initiatives without a clear strategy, you aren’t scaling—you are diluting.
And when complexity exceeds the value generated, the system collapses. It doesn’t matter how advanced the technology is.
Then there is a second, even subtler mistake: building too much on assets you don’t control.
Third-party APIs, distribution platforms, external models, marketplaces. They are powerful accelerators, but they are not foundations.
If your product depends critically on something that can change its rules, costs, or existence from one day to the next, you aren’t building a company. You are renting your core.
And when the context changes—due to costs, policies, or strategy—you find yourself chasing, not leading.
The lesson for those who develop software is simple and uncomfortable:
It is not the launch speed that determines success, but sustainability. Even if timing remains important, it is not the factor that determines success.
It is not the number of features, but the coherence of the product.
It is not how much you integrate, but what you truly control.
It is not about doing more, but doing better. Focus is not a limitation. It is a multiplier. It means choosing what not to do. It means protecting resources. It means building something that holds up even when the context changes.
Because in the end, the problem isn’t that a product might fail. It happens.
The problem is when it fails because you lost your direction. With different guidance, a coherent direction might have prevented that failure. And if today you are building, adding, expanding… the question to ask yourself is not “what else can we do?” But rather: “are we doing too much?”
If the answer is yes, you already know what to do. Cut. Focus. Build well—no, build excellently.