Almost by definition, most new projects in software are failures. The reasons are simple.
1. Incumbents benefit from network effects in users, and integrations.
2. Due to 1, most software markets consolidate around a top player and a list of 2-10 second-tier players. The top player will hold 90% market share and the remainder will split the ~10%.
3. It costs only slightly more for a top-player to keep staying on top as it does for a second-tier player to keep being second-tier.
This all means that if you want to become an incumbent you need to be early for any market, and that market can't be a feature of an existing incumbent. A good example of the latter was the push for "Cloud operating systems" back in the early 10s. As it turned out standard linux distros worked pretty well in the cloud.
You also never know if you are early, late, or if the problem is too big until you try. The more times you try the more likely you are to succeed!
It depends what you are trying to achieve but there are usually niche corners of any market which are underserved or ignored by the incumbents. While you may never become the top player in the market you can make a decent living in many of these if you find the right corner of the market.
Of course, if your aim is to become a silicon valley bro living on ramen noodles and angel investor tears then you'll need to find a way of disrupting the incumbent, and if your plan is to do the same thing but cheaper you are wasting your time.
1. Incumbents benefit from network effects in users, and integrations.
2. Due to 1, most software markets consolidate around a top player and a list of 2-10 second-tier players. The top player will hold 90% market share and the remainder will split the ~10%.
3. It costs only slightly more for a top-player to keep staying on top as it does for a second-tier player to keep being second-tier.
This all means that if you want to become an incumbent you need to be early for any market, and that market can't be a feature of an existing incumbent. A good example of the latter was the push for "Cloud operating systems" back in the early 10s. As it turned out standard linux distros worked pretty well in the cloud.
You also never know if you are early, late, or if the problem is too big until you try. The more times you try the more likely you are to succeed!