1. Omnipresent software

Software is eating the world. Marc Andreessen, 2011

Here at the beginning of the twenty-first century every company is a software company.

If that sounds a little overblown, let’s agree: every growth company is a software company. Companies depend on software to deliver products and services that would not be possible with it. Companies that want unique products and services increasingly find that this means unique software. Anyone can have identical software – ctrl-C, ctrl-V – but identical software leads to identical offerings, identical products, identical services.

For decades high-growth companies have been predominantly technology-based, and increasingly all technology has become software-based; or perhaps, increasingly software has become an essential part of every new technology. Think of it as coupling your business to Moore’s Law: microprocessor power doubles while price halves every 18 to 24 months.

‘Firms that use more IT tend to have higher levels of productivity and faster productivity growth than their industry competitors.’ Brynjolfsson & McAfee1

Last year – 2016 – I met a programmer in Sweden who works for a steel company. You don’t get much more old-school than a steel manufacturer, and 30 years ago the only software such a company might use would be for the payroll. But today software is essential for scheduling production, routing molten steel around the works and improving performance.

Look at the way software has upended the world of media. TV programmes are broadcast digitally to powerful computers: today’s TV sets. But then, who watches broadcast television? iPlayer, Netflix and Amazon mean we can watch what we want, when we want, thanks to software. Or consider newspapers: software running on tablets, phones and desktops has consigned profitable print-only newspaper companies to history.

Once a product becomes digital, everything changes. Ask the music industry. First expensive hardware allowed music to be digitized, then software reduced the price, then software created new ways of purchasing digital music. At first the industry resisted, but that didn’t stop the likes of Napster. It was only when Apple arrived with the iStore and iTunes that the industry started to see how it could survive.

As old industries such as newspaper publishing change and even die, the same technologies allow new ones to come into being. Look at print-on-demand services such as Lulu.com, which allow anyone to publish their own book without capital investment, or LeanPub.com, which is a totally electronic publisher.

Or take cars. A well-established industry is in the process of being disrupted before our very eyes. Who is making the most interesting cars today? Maybe it is Tesla, a company founded on software. A Tesla needs hardware, but could hardware substitute for software? It’s not just the maps and the music: the drive train requires advanced software to optimize battery performance.

The engines of most modern cars require significant software to work. I read somewhere that 25% of the value of a new car is software. I can’t find that quote any more, but I found sources saying that traditionally 10% of car’s value was electronics but today it is nearer 50%. When I’ve mentioned these figures to people who know they say they are on the low side.

The fact that Apple and Google are developing cars demonstrates that something is changing. Being able to build a physical car is no longer enough – in fact you can outsource that bit to Magna. Ford, Fiat, Toyota and other car manufacturers have been turning out very similar cars – similar to their previous cars, and even similar to each others’ – for years. After the early 1980s ‘quality revolution’ little changed in the world of cars: successive Golfs, Camrys and Mondeos were hard to tell apart.

Then software arrived… Cars now have maps and navigation systems. Cars can park themselves, and soon they will drive themselves. For a car to be worth buying it must contain software technology: without it a car is a utility item that cannot demand a high price.

Now that the cars of tomorrow will compete on software capabilities it is logical for companies that have an advantage in the creation of software – Apple, Google and others – to enter the market.

Software is indeed eating the world.

Note the consequence of business dependence on software:

Software is the business

When delivering the fundamental product or service of the company becomes highly dependent on software, the software is no longer optional: software can no longer be done by ‘IT’ in a back room – the business and the software technology are one.

Increasingly this gets called Digital.

Digital includes not just online sales and electronic delivery. Digital business includes ‘big data’ and analytics, the Cloud, phone apps – indeed cellphones and smartphones altogether, GPS positioning2, artificial intelligence and the things that they make possible: drones, the gig economy and more.

Digital hides the underlying truth that is software. All these technologies are only possible with software. Digital business is dependent on software, which means that the business is dependent on those who create software.

Digital implies software development, but while ‘software development’ is a bit of a mouthful, ‘digital’ is short and sweet. This is not to say that the digital business is only a software development business; there is a lot more to digital as well, but the need to have access to, or to be able to create, software is fundamental to the business.

Software technology is now as important as marketing or accounting.

Unfortunately in 2016 it is still acceptable for even senior executives to say “I don’t really understand software” and “Programmers are expensive geeks who I don’t understand.” Could you imagine these same executives saying:

“I don’t really understand accounting – whether to expense or capitalize…”

“Why do those accounting nerds demand double-entry? Surely if we just did it once we could save money?”

“I don’t really understand marketing – I only know that half the money is wasted.”

“I just want marketing that works.”

It is not so much that every company is a software development business, as that every company is software-dependent business. The more a business becomes digital, the more it takes on the characteristics, attributes and business models of what we used to call ‘software houses’.

So let’s talk about projects…

The project model of working dominates software development. (Let’s leave the different definitions of ‘project’ until later.)

The project model is inherently short-sighted. Call it Project Myopia: projects end.

Do you want your business to end?

“When will this business be done?”

“When will your company finish?”

Questions like these are only asked about businesses that are in trouble. We don’t want businesses to end. We want businesses to continue: to continue employing people, to continue supplying their products to grateful customers, to continue paying dividends to shareholders.

If the company is software and we want the company to continue, why do we think the software will ever be ‘done’? Again, imagine the head of Microsoft Office development meeting with the Microsoft CEO, Satya Nadella, and saying “Great news, we finally finished Office after 26 years. We can lay off the team and get started on the next thing.” Microsoft’s profits would collapse.

Software businesses such as Microsoft are the prototype of future businesses. Software businesses have been exposed to the threats and opportunities created by software for longer. Those who work in these companies have long had access to early versions of the tools that are now becoming commonplace. This doesn’t mean that these companies have always got it right – only that others can learn from such businesses.

The idea that software is never ‘done’ may terrify some readers – how does one know how much to spend? Some will rail against this idea – after all, we can control ‘scope’, we can push back on requests, and we don’t need to upgrade with every new technology or OS change, and we…

Personally I don’t think scope can be controlled. However, if you have an example where it can, then OK, I concede. But…

Changes are opportunities. Rather than viewing requests to change software as a bad thing that should be resisted in the name of ‘done-ness’ and cost control, we should see change as a positive that provides our businesses with growth opportunities.

How many times has Microsoft sold you Word?

How many times has Oracle sold your company their eponymous database?

Software companies have long succeeded in using the cycle of software upgrades to extract money from customers. It’s true that the business models of software companies are changing too. In a world in which all companies start to look like software businesses, it becomes harder and harder to find any which are purely software businesses.

It is not just in extracting more payment from customers that software can deliver value to business. Take my Swedish friend: continuing to improve their software allows the steel mill to continually extract more cost saving from their plant.

In many companies – perhaps most – there is no single long-lasting ‘optimal’ point of production, or optimal processes. Many businesses never approach the optimal point because they don’t know what it is. More likely they operate at some local optimum, which may be fine for a while, but when faced with a new competitor, a new technology or even just a change of personnel they are forced to find a new and hopefully better local optimum.

When a business is based on software, moving to a new optimum requires changing the software – or rather, changing the software allows a move to a new optimum.

Since it is not only a single business that is software-based, but all the other businesses with which it works, there are continuing opportunities to optimize one business by responding to or even initiating changes in others.

Take parcel delivery, for example. This was once a physical business: collect parcels, move them, deliver them. Then FedEx, UPS and others arrived, they allowed you to track a parcel online. But technology goes deeper: such companies could not run their businesses the way they do without software. This change has sparked changes in other businesses, not just competitors such as Royal Mail or US Mail, but in businesses that can now send parcels reliably across the globe in hours.

Is UPS’ parcel software ever done? For such companies software is not a project to be completed. Software is their lifeblood. Finish the software and you finish the business.

I can already hear readers who work for delivery companies shouting “But we have software projects! And they work!”

I’m not disputing that many companies organize their software development using the project model, although I admit that I don’t know the internals of FexEx or UPS. My point is that running such a model hinders such businesses, and that breaking free of the project model offers opportunities for companies to improve. The project model complicates the management of software development and induces myopia.

The problem is that the project model is ill-suited to software development. When software was a sideshow – an optional extra – companies could get away with patching a broken model. Now that software is the business, using an ill-fitting model adds complexity, hinders improvement, and in some cases may well break the company.

Because the project model promises ‘an end’ – and because people like closure – executives and managers suffer from myopia. They fail to comprehend the implications of the fight against a never-ending process, and so pass up opportunities for growth and market leadership.

Software technology has allowed businesses – whether they be delivery companies, steel mills, banks, airlines or whatever – to grow (‘scale’ in the jargon) beyond the wildest dreams of company managers 100 years ago. But if they are to continue to exist, let alone grow, over the next 100 years, then they need to think differently.

One of the ways they need to think differently is to accept software development – ‘digital’ – into the core of the business as an ongoing activity, rather than something that happens over to the side and that will be done ‘one day’.