Skip to content

How to explain backend changes that support undelivered features

My current work environment is in a cost-pressured large national transport enterprise with a familiar internationally-recognised brand name. We have to build a lot of systems that model many real-world, highly-regulated, parameters and states. This data is often used to feed into other systems that feed the voracious information maw of an often severely critical public who usually only rarely understand the large numbers of contingent variables that effect the operations of this transport enterprise, which they nonetheless apparently expect to cost about the same as a bus. Many of the applications used to convey this data to the public aren’t often in the control of those of us who design, build or maintain the core systems used to manage the data that is fed to the externally integrated vendors. Our business users often don’t understand why their “feature”, often concocted without anyone in IT ever knowing about it, can’t just be implemented at the vendor-driven edge system, when the data originates or is highly dependent on, the core operational systems of the enterprise. The business users deciding these edge features often only poorly understand the domain language of the core business, which is often highly technical and dependent on domain and messaging solutions decided industry-wide from the 1930s onwards.

In order to overcome this understanding, I created the following parable to explain why sometimes adding new feature in the core systems is necessary before the feature can be exposed to the “edge” systems, that in the business user’s mind, actually deliver the feature (which is to say, display it on the customer’s smart phone).

Therefore, I give you:

The Parable concerning Necessary Work and Desirable Work

Imagine you’ve got an old computer, very old, with an old almost-vintage operating system and attached to this computer is a Black & White laser printer.

You want to print a colour brochure. The problem, you may think, is that you need a new colour laser printer. You call your local techie in to buy and install a colour printer for you.

But the underlying problem, the techie explains, is that the vintage operating system you’ve got doesn’t support colour laser printers! So first you must buy and upgrade your operating system to a new system that supports colour laser printers. Also on the way, you replace the computer with a shiny new laptop.

So now, you’re sitting there with your new lovely computer and sleek easy to use operating system that supports colour laser printers.

Can you print your colour brochure? Of course not! You still have to buy and attach a colour laser printer!

The problem you see, is two-fold. Without the operating system that supports colour laser printer drivers, buying a colour laser printer is a waste of money because the vintage operating system can’t send the colour data to the printer. And upgrading just the operating system alone (even though it might also have lots of other nice new features that you’ll like) doesn’t upgrade the old B&W laser printer – it just makes sure you don’t waste your money when you buy the colour laser printer.

And let’s just talk about the inevitable “work-around” that people love to demand is done instead of doing it properly: In our parable, the “hack” is don’t upgrade anything. Instead, colour in the B&W print with a crayon. But it hardly looks professional, and you have to engage in an arduous manual colouring-in process with expensive crayons on each and every individual sheet of paper!