When we talk to clients, one thing we often hear is considerable frustration about just how difficult it is to decide exactly how to go about building their software. Which technology stack is the right stack? How do we know we're not ending up painting ourselves into a corner? How do we get, and retain, the right people?
Anyone who gets into this industry know that it moves fast, but particularly now it can be hard to work out which technology pieces to choose. It was easier about a decade ago when most people just considered enterprise software development, and the Microsoft way of doing enterprise software was an obvious path to choose. Today though in 2018, the process of "consumerisation of IT" has created a significant shift in how software development as an exercise in and of itself is performed.
Consumerisation of IT can be thought of as having three impacts - each of which acts on each other. This white paper is designed to help you make sense of those impacts, albeit from the perspective of considering and applying our "Digital 247 Benchmark", which we'll come onto. The impacts are:
- Experience, and
Firstly, from a "needs" perspective, users are much more used to using software now than they used to be, and want software that behaves more like consumer software does. Specifically, this means that software needs to be "slicker", and it's generally much harder to get away with poor user experience. When selecting their own software, consumers have the luxury of vendors competing for their business. For example, WhatsApp might compete against Kik, Instagram against Snapchat, eBay against Gumtree, and so on. In order to acquire and retain customers, those competing vendors tend to drive each other to build better experiences.
Enterprise software has never had this issue, because the organisation decided what to use and there was no internal competition. No manager ever found that an employee had - of their own back - stopped using SAP to use Oracle Financials because Oracle Financials had a better xyz feature. The IT team has traditionally imposed software onto the users. But now, because users use more software more regularly, the individual users are now coming to the workplace with expectations in how software is supposed to behave, enterprise or otherwise. This translates to pressure into the IT team from "grass roots" efforts within the organisation. A symptom of this tends to express itself as "shadow IT", where users find and implement their own solutions to systems problems.
In addition, all of this creates a change in the dynamic of how software is bought, and it ties into the first impact of consumer demand. It's now very common to buy SaaS software by visiting a website, starting a trial, and going from there. This pattern is mimicked in how we get on-boarded onto social networks, and also how we buy from companies like Amazon, ASOS, or John Lewis. You can see examples of this everywhere where companies move to non-voice customer service applications, such as apps for banking. When consumers used to working in this way in their private lives then enter their role as participants in the B2B procurement process, they bring these unconscious expectations of a much lighter, technology-led, consumer buying process with them. A common manifestation of this is expecting "non-voice" customer services pieces like portals being expected by customers. For example, "what do you mean I have to phone up to do xyz? Can't I just log-in to your portal?"
This is, we should say, a good thing. There are now more people - real users - at the bottom pushing their demands and needs up into the business, along with operational streamlining in how the business interacts with customers. This push from external and internal customers organically stops the organisation allowing IT teams to be the "tail that wags the dog".
Secondly, this greater demand means that the tooling has to be different. Web Forms, for example, allowed enterprises to deliver software with a good enough user experience with a dirt-cheap budget. But you cannot deliver the sort of slick user experience that these new users want using technology like Web Forms. So now IT teams need to be using technologies like Angular or React. Importantly, this means IT teams need to be using non-Microsoft technologies. This is a significant challenge, because whilst it was defensible to say: "We don't know why this went wrong, we used ASP.NET with MVC running on IIS on Windows Server, backing onto SQL Server", it's much less defensible to say: "This might have gone wrong because we used React with TypeScript, backing onto web services running on .NET Core on Nginx using Docker on Ubuntu, backing onto MariaDB." We have now, again in 2018, largely lost this "no one ever got fired for buying IBM" defence that we could use by sticking to Microsoft.
Thirdly, this creates a skills problem. You can no longer go into a marketplace and say, "I need an enterprise .NET person", or "I need an enterprise Java person". You also have additional problems in how you upskill existing staff. If it's not clear what are the correct technology pieces to move around in order to build your software, how do you match the skills?