When we speak of digital transformation, we have 2 kinds of considerations: strategic considerations (how tech can disrupt your business model), and operational considerations (how tech can streamline your operations). Here, we’re going to speak about #2.
I’ve been working lately with a large industrial corporation (1000s of employees) on a company-wide digital transformation effort. The first step is obviously to identify potential business problems that can be solved with tech. This is the first danger: build new digital services that no-one actually wants. If you want to streamline operations, make sure you embed people from the field in the product management loop. If you want to develop new digital-enabled services for your customers, make sure you onboard separately customers and sales people in the product management loop, so that you build services that customers want to buy, and sales people want to sell. This first danger has been abundantly documented, and by now, I think most companies are aware of the virtues of this short feedback loop with users (Agile etc), to make sure you actually work on useful stuff.
However, I’d like to address a second danger, that I think many companies overlook. Once you have nice specifications, driven by actual users needs, most companies chief digital officers (or equivalent) start thinking of hiring software people to develop the products. Problem is, most people massively underestimate the costs associated with a software project, especially in non-tech companies (for instance: industrial companies). After having managed and/or implemented myself small and big software projects, I keep telling my customers this: each line of code written is a ticking bomb.
Once you start working in custom software development mode, requirements tend to change, a lot (even if you have strong product managers), which means each line of code written quickly becomes legacy code. Keeping technical debt under control demands experienced and skilled lead devs and CTO. Once you managed to get a MVP out, you need to reach a quality level compatible with real-world operations. Have you considered all the potential corner cases the Murphy Law is going to throw at you? What about special characters input by users in non-English speaking countries? Timezones differences? Unexpected devices? and the list usually keeps growing longer.
The person that decided to start this transformation effort needs to find the right people (strong product managers, experienced lead developer and CTO) and stay the course (= investing resources) long enough for the first actual business value to be delivered. In an era of short-term corporate planning, high staff turn-over, and lack of understanding of software in general, staying the course long enough can be nerve-racking, and sometimes just plain impossible.
In my experience, if a company is not a software company, it should always consider code writing as the last recourse, and adopt a very strong and smart product management approach, that prioritizes off-the-shelf software over custom software development. When you look at most business needs, it almost always comes down to letting users interact more easily with a common database. So the question is, instead of thinking in terms of which product to develop, can you rather think in terms of business processes to automate, if possible with off-the-shelf software?
For simple use cases such as data collection, or simple data processing, many “low-code” platform exist, that let you quickly set up interfaces and forms for your users to send you data, and fetch results for their queries. You have Knack, Caspio, Zoho Creator, Appery, BuildFire, Jotform, Quickbase, to name a few. Airtable is also a great contender for simple business apps no-code deployment. This is basically just the next logical step after website builders: you don’t hire anymore HTML developers to set up company websites, you use Wix, Weebly etc and set up your website yourself. Those low-code app platforms propose exactly the same for simple business use cases: don’t write software, just use their platforms to deploy simple apps quickly at a fraction of the cost.
Of course, sometimes the problems you want to solve with your digital transformation effort are just too complex for those low-code platforms. I’ve tested some of them, for instance Zoho Creator platform had some bugs with workflows, Microsoft PowerApp crashed when I tried to create a model-based app, Caspio does not propose native mobile apps, Airtable lacks granular permissions for complex corporate environments…
My opinion is that even for complex use cases, you should think twice before starting the development of a new product. Let’s say you operate a logistics company, and you want your employees at various levels (drivers on the field, managers etc) to always have up-to-date information on the stocks in your warehouses. Do you want to hire 10 software developers to write, deploy and operate a new SaaS platform, and ask your employees to learn another tool? Or can’t you just set up a consolidated database and let your employees query the database via email/Whatsapp/SMS (with permissions control of course)?
From what I’ve seen during various missions, you can deliver great business value at a fraction of the usual cost, by focusing on business processes, instead of developing full-blown software products. Identify the processes you want to streamline, make sure all the necessary data is in one database, and let the users query the database through simple means: email, SMS, Whatsapp, Slack chatbot… Users are likely to use more the new capability (0 friction to use it), and you solve your problems with far less code.
Of course, this doesn’t mean you don’t write software. You will probably need to write some code here and there, maybe to pipe data from one database to another etc. But you get the idea: write code to stitch together off-the-shelf stuff.
All in all, if you’re a corporate digital executive, remember this: if you think in terms of business processes to streamline and not in terms of products to develop, you can probably meet 80% of your business needs with 20% of the code, and quickly deliver value, without falling in the usual custom software trap. Of course, you can still start custom software projects, but those should be considered only for the most critical core-business stuff.