As a Developer Evangelist, I'm often talking about the value of "the Platform" and sometimes it takes a little while for people to see that value. I like to tell a story about the evolution of a platform
|Imagine it's 10,000 years ago and you live in a cave up the hill to the left. Getting water is a matter of walking the 500m down to the stream, using the water and then walking home. That’s fine if it’s a beautiful day like in this picture. The next day, however, there’s a severe storm so going outside is already unpleasant. To make matters worse, a large carnivore chases you when you do venture out into the elements go to get water. Once you get there, you find that one of your neighbours has slaughtered a woolly mammoth just upstream and the water is polluted and unusable. You have to go over the next hill (5 km) just to get water.|
|Fast forward to 4,000 years ago and you’re living in a village in the African desert. Your village has constructed a well and you maintain it collectively. You still have to go outside for water, but not nearly as far, and all of the people in the village contribute to the maintenance. Your water supply occasionally dries up, but is much more reliable than having to go down to a stream.|
|Fast-forward to 150 years ago** in the city of London. You now live in a lovely house in Broad Street. Just outside your front door, the City of London has installed a pump (or, more accurately, has contracted a private company to install a pump) connected to the new-fangled plumbing. You still need to go outside for your water, but you don’t have to worry about maintaining the pump, and there are public health professionals ready to remove the handle of the pump if too many of your neighbours catch cholera.|
|Fast forward to today. Now you get water plumbed into every part of your house. The question now is not "how do I get water?", rather it’s "what do I want to do with water?" Delivery of water is now a platform on which you can build, rather than being a task on its own.
|We've seen this platform evolution (albeit on a much shorter time scale) in pretty much everything that happens with computers. From having to write your own code to read and write bytes from a disk (or punch card, or circuit board) to letting the operating system handle it for you. From having to write your own code to paint a window on the screen to letting the framework handle it for you. From sourcing drivers for every piece of hardware to having it just work when you plug it in and so on.|
One of the questions I often get asked is whether abstracting away the details of the working of the platform makes us less connected from the source and therefore somehow less capable. There's no requirement to not understand how the platform works (just like, as a Civil Engineer, I understand water supply systems pretty well), but equally, there's no requirement to rebuild the platform every time you want to build something on top of it. Whether I'm installing an espresso machine or a hydroponics farm, I can use the water supply platform without having to drill a well, install a reverse-osmosis plant, install solar panels for power and so on.
This also makes a distinction between platform and services. Pat Helland pioneered the concept of a metropolis where he described the various utilities (water supply, sewerage, electricity, roads, railway lines, ports, telecommunications infrastructure etc) as services (I haven't done Pat's work any justice at all here - go and read his paper). I'd argue that these are actually the platform on which services (schools, high-speed internet access, parcel delivery, banking, petrol stations etc) can be built. In a similar way, in the Software plus Services story both the software and the services are built on a platform (or platforms). The more common functionality the platform provides, the more time service providers can spend on the provision of the actual service. For example, pretty much every provider of any significant services in the cloud needs to have a way to authenticate and bill (or otherwise gain benefit from) users of the service. There aren't that many schemes for doing either of these things and so it makes sense to have the platform (on which the service is built) provide this functionality. By factoring out commodity platform capabilities (i.e. billing, provisioning, SLA monitoring and management, auth[n|r], messaging, CRM, monetization services etc.), the service provider is free to invest fully in an offering in their domain of expertise, without being encumbered by having to build out these concerns. Customers are also free to pick and choose those services that make the most sense, again without having to build out (and care and feed for) commodity capability.
This has the related effect that the costs of these cross-cutting platform capabilities – which cost a lot to develop and maintain – can be amortised against a much larger population of users. In turn, this tends to bring the cost of the services down, which makes them more accessible to smaller organisations (i.e. further along the tail). This is a democratising effect - i.e. now a small software firm can afford an enterprise-grade provisioning, billing and SLA management engine, and can scale this according to their needs, and therefore potentially compete with larger players, or offer lower-cost services to customers who are also further along the tail.
Time to value is shorter. If a service provider can focus on their offering sans the surrounding infrastructure, they can deliver services much more quickly, and can respond to opportunities in the market more rapidly. Related to this is the expectation that markets and offerings will evolve much more quickly than ever before. If you aren’t tied down by infrastructural drag, you can innovate much more quickly.
Many thanks to Nigel Watson for his insight and additional thoughts.
* Yes, I'm aware that Isaac probably wasn't the first person to use this phrase, but he's probably the most famous
** OK, OK, the picture's obviously not from 150 years ago (of course, the first one is from 10,000 years ago), but I really wanted a picture of this pump - it's because of my background in GIS