1. How Important is Software? Generational Differences
Between Software Producers
“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 –
2. 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.
3. 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.
Read more: http://redmonk.com/sogrady/2011/03/11/how-important-is-software/#ixzz2KHJPzbqC
Why is Software Even Important?
Why is Software Even Important?
In recent years the capabilities of computer technology have increased manifold
o however, the software programs that control the computers have not been able to match the pace of
advances in hardware
Software is permeating our society
o software is used to control critical functions of various machines such as aircrafts, pacemakers, and
other medical devices
Software errors have led to loss of time, money, human life
o cancer patients received lethal doses of radiation from Therac-25
o ESA�s Ariane 5 space rocket blown up 37 seconds after launch
o a computer error in AT&T�s communication system led to the shutdown of all three major airports
in the New York region
Software enables highly complex activities - such satellite precision manoeuvres, autonomous navigation of
rovers on a planetary terrain - and provides a means to recover from malfunctions and compensate for
4. hardware equipment defects. Software must work correctly first time in orbit, and getting it right is crucial
to mission success: software bugs have been the doom of many spacecraft, going back to the earliest days
of space exploration.
The added value of software to space systems has increased greatly in recent decades, reflecting the ever
growing functionality and autonomy of spacecraft and the amount of mission data to be collected and
processed.
Software systems engineering is needed to ensure that the software is properly designed, developed and
verified, like for any physical equipment.