How to compete and WIN in a software economy [Part 1]


Software has eaten the world and almost every business is a software business. How do you develop a competitive advantage and win in today's software economy?

As a disclaimer, the strategy outlined in this article is necessary, but not sufficient. There are still other things that have to go right in your business and other ways to develop competitive advantages, but this strategy will significantly move the needle for any businesses. It will also help you develop these additional advantages (more quickly).

If it wasn’t already obvious, we are now in a software economy. 10 years ago, software was eating the world; today, software has clearly eaten the world, and almost every business is a software business (at the very least, highly enabled by software) or has been bought by a software business.

It's no longer Netflix vs. Blockbuster or Uber vs. taxis. Now, it's Netflix vs. Disney+ vs. HBO Max vs. Hulu, and Uber vs. Lyft vs. Juno vs. micro-mobility (scooters, bikes, etc.) ... not to mention the 100+ other software startups vying for a piece of each of these markets.

And there is no sign of stopping. There are more startups, venture investors, and venture dollars than ever before. Sure, it may not be a perfectly smooth curve forever (there could be another SaaSacre, the web3 bubble could burst any moment, and the metaverse may only ever exist in books), but at this point, even a serious correction would be a metaphorical bump in the digital road.

Assuming we agree that we are in a software economy, then we can also agree that simply leveraging software is no longer a differentiator or competitive advantage.

In the previous paradigm of 10 years ago, simply building decent software was enough. The power of software relative to a manual or non-digital process was so massive that even mediocre software enabled huge leverage for an end customer and beat out other possible solutions. Processes enabled with C+ software (no pun intended) beats A+ non-digital processes almost every time. Today, the playing field is more even. Sure, there are still opportunities to digitally transform antiquated products and industries, but these are becoming more and more rare, and no longer representative of a typical competitive landscape.

So, how do you develop a competitive advantage and win in a software economy?

If we revert to Marc, the man who proclaimed software is eating the world in the first place, he would likely tell you: “Cycle time compression may be the most underestimated force in determining winners and losers in tech.”

And most of the venture community would agree. For example, here's a similar thought from Sunil Dhaliwal, GP at Amplify Partners, "Product velocity is a reliable signal for early-stage companies that end up winning. Ship regularly. Ship quickly. Constantly improve."

Importantly, operators are aligned with investors on this. Geoff Charles, Head of Product at Ramp, writes: “In today’s startup environment, speed is everything. It’s not just about building things faster, it’s about decreasing the cycle time of learning and reducing the cost of being wrong.” Ok great, makes sense: increasing product velocity allows you to get more features out the door (or iterate on features faster) relative to your competitors. Additionally, moving faster than your competitors confers further benefits, such as being able to take more risks (i.e. be more innovative), since the cost of doing something new is lower. Oh and let’s not forget that being fast is fun [for more thoughts on this, see Speed Matters by James Somers, which Charles references in his article].

Now the next question is, how do you increase product velocity?

Before examining how to increase product velocity specifically, let’s take a step back and think about how one increases productivity generally. A counter intuitive, but a common piece of advice is to ‘do more, by doing less’. Google this phrase, and you’ll get a series of articles from HBS to Forbes explaining why this is. In essence, by taking on fewer things, you can dramatically increase your effort, and more importantly, your focus on each one. Thus, narrowing your focus and saying ‘no’ to things that are not at the top of the priority stack, allows you to accomplish more without actually increasing net effort or focus. Now, let’s apply this to software development. By narrowing the product focus to items that truly move the needle for one’s business and differentiate them in the market (i.e. ‘core development’), development productivity, and thus product velocity, is increased without increasing costs. As Steve Jobs famously said, “Deciding what not to do is just as important as deciding what to do.”

However, many of the items which you say ‘no’ to still need to get done. Filing your taxes doesn’t make you better at making money, but it still needs to be done. In these cases, we outsource this work [to a CPA or software service like turbotax]. The same methodology should be followed in software development.

As Jeetu Patel, Board Member at HackerRank and Chief Product & Strategy Officer at Box, puts it, "focus on your core, and outsource non-core services… Focusing on your core when it comes to technology makes it easier to focus on your end-customer experience and that’s what makes a great software company.

As Jeetu elaborates further in the article, outsourcing in software is done via developer tools [i.e. infrastructure as a service that provide the same or better functionality as what you could build in-house]. And that’s how you compete and win in a software economy.

In the next part of this article, we'll discuss how to identify 'core' vs. 'non-core' development & how thoughtful outsourcing can be used to develop process power.

Rishi Raman