When we say “Zero Code”, we mean software that allows you to accomplish your unique business process or goals through creating your own custom application without writing any code. Microsoft Access is perhaps the oldest modern example of this. Excel is considered a modern day data-store for the ‘no code application’ movement, and even to this definition be considered zero-code, as long as you don’t think of excel formulas as coding. It’s also highly likely several parts of the business you support run on excel.
The “Zero Code” I mean here is related to the ‘no code’ movement; but it’s more on that promise that we’ve had since time immemorial that somehow complex software applications could be created where their users could do complex things without having to understand a scripting language, DSL, or other programming languages.
If you’re an enterprise software team delivery manager, chances are your business champion is going to start asking you (if they haven’t already) if your team can make this application ‘zero-code’ or ‘code-less’ or ‘drag and drop’.
My heart started beating faster just writing that sentence. I’ve been there, I’ve inherited the scars from the attempts — across teams of all skill levels and in some major business domains.
Put another way, zero-code is both the
holy-grail and the tarpit of software development. The allure is
unmistakable: Who wouldn’t want to be able to change the application
when the business needs change — without code? Software
Developers are expensive, they take longer than the business needs, and
their solutions are often buggy — imagine if you could do away with
that as a business champion. Wouldn’t you?
In the movie The Matrix, Morpheus
(Laurence Fishbourne) describes the matrix as a world with rules; some
can be bent, others can be broken. That is software, no doubt — but
Zero-Code software tries to rewrite the rules of the world and provide
mechanisms to rewrite the rules of the world while it’s in use.
Put another way it’s akin to trying to switch out the seats in your car
while you’re driving it at 65MPH down the highway. Getting Zero-code
right requires a lot of scaffolding, planning, and development, and it’s
still inadequate for most businesses.
If I haven’t been plain enough: You don’t need Zero Code,
and you’ll end up jeopardizing ever delivering by pursuing zero-code at
this point in time (and for the foreseeable future). I do believe
‘zero-code’ is possible in the next 20 years; but it requires a method
of thinking and solving problems that we still haven’t bridged with our
needs for data integrity and consistency.
Instead of Zero-code, focus your developers on solving the business problem as simply as possible, and ensuring the business domain is accurately reflected in the software. Zero-code is alluring for developers as well, and we aren’t always in a good place to combat against it.
Your business does change — but it probably doesn’t change so often as to necessitate a 5-10x increase in development time to provide a zero-code implementation.
This blog post and metaphor brought to you by that stakeholder I had on a project who was convinced that software should be ‘configurable’ without code changes and that such configuration was as simple as allowing the steering wheel on a car to be adjustable.