Users Don't Care For Architecture
Good architecture means being able to change moving parts without needing to reinvent whole parts, only because they are tightly coupled. The thing is, from a users perspective architecture does not matter. Some might argue that while users don’t care how decoupled or fancy your architecture is, they care about features and not having to fight bugs.
Fewer bugs and being able to easily add new features are often the result of good architecture. But saying that only when you have good architecture you have few bugs and can add new or change features easy is wrong. Not only that it does not really matter if your app has 10 features that solve the problem of your users badly besides the app with only 2, that solve the problems of their users perfectly.
Users Don’t Even Care About Bugs
I know about many bugs that never “impacted” business even though we would think otherwise. For example the video games of Paradox Interactive and their DLC’s must be the most bugged software I have ever used. Prominently marketed features that don’t even work? CHECK. Bugs that destroy your save? CHECK. Incredible weirdly interactions between features? CHECK.
It Will Be Fixed Later
Some will argue that such bugs will often be fixed in the long run and in the end little bugs or problems remain. WRONG. Why? Because paradox releases a new big update/DLC every couple of months. This results in a treadmill of introducing bugs and fixing them. When most of the bugs are fixed a new patch introduced the same amount or more bugs.
Now what would you imagine the profit margins be of such a company? Around 25% percent1, insane numbers. EA had profit margins in the last years of around 20%. Ubisoft’s profit margins are so low let’s not talk about them. Tencent’s would be around 16% - 18%.
How many good games are simply not selling? How much software is not sold because you don’t know it exists and would solve your problem better? How many people can’t change their shit software because they are looked in a walled garden?
Many Factors Determine Success
There are many different factors that determine if your software succeeds. A developer thinks his programming skills are the most crucial aspect and wants to emphasize that. Marketing thinks the brand is the most important aspect.
In the end users care only about one thing. The question is what that one thing is. All users have different reasons why they don’t use your software, all users have different reasons why they don’t switch away. Some users simply can’t be caught.
I really like Witcher 3, I think it’s an interesting game, looks beautiful, plays nice, great voice acting, intriguing story. I played 3 hours. I loved Dragon Age Origins. Still Witcher 3 didn’t catch me and I couldn’t tell you why. There is no critique I could give you, no concrete reason why I don’t play Witcher 3.