How Important of Software?

Through an analysis of its unique characteristics, evolving business role, and historical precedents, I will argue that IT’s strategic importance is not growing, as many have claimed or assumed, but diminishing. As IT has become more powerful, more standardized, and more affordable, it has been transformed from a proprietary technology that companies can use to gain an edge over their rivals into an infrastructural technology that is shared by all competitors. Information technology has increasingly become, in other words, a simple factor of production – a commodity input that is necessary for competitiveness but insufficient for advantage.” – Nicholas Carr, Does IT Matter?

Regardless of what one thinks about the wider implications of Carr’s assertions concerning the importance of technology, it’s clear that attitudes about differentiation and competitive advantage via software are evolving.

By itself, this is not news. Accelerating commoditization, driven most recently by open source software, has had major impacts on market competition. Vendors, for their part, have periodically recognized opportunities to rethink traditional software valuation; IBM’s formation of the Eclipse project is but one example of this. Today’s competitive differentiation is tomorrow’s commodity.

What’s changed is the scope of this realization. Once content to standardize technology infrastructure on a tactical basis, increasingly entire infrastructure stacks are composed from standardized, non-differentiating technology.

To illustrate this, consider the cases of Microsoft, Google and Facebook. These three firms represent almost generationally different attitudes towards the importance of software as a means of achieving competitive advantage. These attitudes are heavily informed, of course, by their respective commercial contexts: Microsoft, in the business of selling software necessarily has different attitudes towards ownership than Facebook and Google, for whom software development is a means rather than an end. But this observation only confirms the assertion that there is a transition underway.

  • Microsoft (Founded 1975)
    For Microsoft, its competitive advantage centers around its intellectual property, which is to say its software. Microsoft felt compelled to compete with its own entrant in each of the following software categories: Browser, CRM, Database, Development Tools, Email Server, ERP, Game Consoles, Multimedia Runtime, Office Productivity, Operating System, Portal, Programming Language, Search, Webmail, Web/App Server. And the list could go on. Software markets were important enough to Microsoft either for the revenue they offered or their strategic significance that the firm pursued opportunities in each. While its recent focus on interoperability has led to relationships with competitive products (i.e. Apache, Eclipse, Mozilla), Microsoft unquestionably still views software (and the integration of that software) as its primary competitive advantage in the marketplace.
  • Google (Founded 1998)
    By the time Google arrived twenty plus years later, much of the available oxygen from a software sales standpoint had already been consumed by Microsoft and others. Search, however, offered more substantial projected revenues. With the benefit of hindsight, Google’s attitudes concerning the importance of software were distinct from Microsoft’s. Rather than construct its infrastructure from commercial software such as Windows, Google instead chose open source software – Linux, among others – as the foundation for its sprawling infrastructure. Decades of software industry history served as input to its thinking.And part of this evolution was contextual, of course. Unlike Microsoft, Google does not derive the majority of its revenue from the commercial sale of software, which afforded it the opportunity to reconsider the value of the software it consumed as well as the software it produced. Because the firm’s primary advantage over its early competitors (AltaVista et al) was technical – it could scale more cost efficiently – it has retained a culture which considers infrastructure a competitive advantage: the firm is famously secretive about its internal development. The result of which is the status quo: the majority of Google’s infrastructure is not public.While the software itself remains protected, however, Google does periodically share the details of its approach (e.g. GFS and MapReduce). The benefits to this practice for Google are multiple:

    1. Engineers may be trained in techniques such as MapReduce prior to joining Google
    2. Public availability may lead to open source implementations, which can act to inhibit commercial opportunities for competitors and may suggest areas of improvement for internal instantiations
    3. Publishing can improve employee morale by allowing them to experience external recognition for their accomplishments

    This is suboptimal from a public standpoint versus open sourcing the original assets, because the public implementations are reportedly not as performant; one reason Google is periodically criticized by open source advocates. But it represents an evolutionary improvement relative to entities that disclose little or nothing about their software products.

  • Facebook (Founded 2004)
    Founded just six years after Google, Facebook’s opinion of software is markedly different. The evidence suggests that Facebook believes infrastructure software to be non-differentiating.Apart from their decision to release key pieces of their existing infrastructure as open source projects – e.g. Cassandra [coverage], Hive, Hip-Hop [coverage] or Thrift – there is the fact that Facebook is built, effectively, on publicly available software. Its primary user interface is built using (compiled) PHP and publicly distributed JavaScript libraries. Its forthcoming messaging product will be built on top of Hbase. Reporting and analytics are via Hadoop. And so on: there are few Dremels or Pregels hiding inside the social networking giant.For Facebook, the value is not in the infrastructure – though Hip-Hop demonstrates the value of even marginal improvements in performance for high scale players – it is in the users and the data they generate. As Tim O’Reilly famously put it, “data is the Intel Inside.”

What Does it Mean?

If we accept that perceptions of the importance of software are in fact evolving towards a recognition that it is less of a means to differentiate, the obvious question is what this implies.

First, it may be worth a review if your primary differentiation lies in infrastructure efficiency. There may be cases where this is business justifiable, but the trendline clearly argues against it in an increasing number of cases.

Second, when you look to differentiate, you should focus on the personnel side over infrastructure technology. In analytics, for example, the competitive advantage may not be answering the question marginally faster than a competitor, but asking a better question [coverage].

Third, be clear on what precise advantage the software you build conveys. It is certainly possible that aspects of your infrastructure may be unique and differentiating, and therefore a competitive advantage. But be skeptical of this belief, and balance the costs of proprietary development against the benefits of running on standardized infrastructure carefully. Few businesses will be able to run on a stack that’s easily replicable by a competitor. But the ratio of what’s private versus public is beginning to shift in favor of the latter.

Last, software manufacturers should understand this context, and seek opportunities up the stack to differentiate or focus on delivering value through services, hosting, integration or maintenance. With rare exceptions, it will be increasingly difficult to justify high margin infrastructure software products as they will be providing less competitive advantage over time.

Is Software Important?

The answer to this question depends on how you define the term important. Few businesses today can exist without software, so superficially the answer to this question is self-evident. The more nuanced reply would consider infrastructure software’s strategic role, as Carr has.

It is true that there is a large and continually expanding body of open source software that is highly competitive with commercial alternatives. Most of the major infrastructure software categories – database, operating system, programming language/runtime, application/web server, etc – have multiple credible offerings. It is also true that in spite of the the fact that there are a variety of costs and benefits attached to usage of this software, it is increasingly difficult for businesses to achieve competitive advantage over one another via the selection of commercial alternatives. Instead, competitive advantage is derived in how that software is instantiated, maintained and employed by people.

But while this could be used to frame an argument that software is unimportant, it belies the reality that usage of commodity software can deliver results that are highly differentiating; the same cannot be honestly said of the eletrical infrastructure or plumbing. Infrastructure software may not be important enough to develop in proprietary fashion any longer – see OkCupid’s recommendations concerning building a proprietary web server – but this does not relegate it to role as a simple factor of production.

Technology is certainly necessary for competitiveness, but awareness of this importance varies. As long as this remains true, and leverage of infrastructure technologies remains uneven, there will remain opportunities to seek competitive advantage via your infrastructure. It just might not be with software you’ve built yourself or something proprietary bought from a vendor.