As the name suggests ‘Low-Code Service Design’ refers to the use of low-code software development tools within a context of service design, highlighting the ideal companionship of the two.
Low-code is a ‘drag and drop’ approach to software development that empowers non-technical staff to create and amend code and thus accelerate the throughput of new service design innovations. SOCITM has highlighted its potential for the public sector.
Low Code vs No Code
Wikipedia defines a low-code development platform as:
“software that provides an environment programmers use to create application software through graphical user interfaces and configuration instead of traditional computer programming. The platform may focus on design and development of a particular kind of application: such as databases, business processes, or user interfaces such as web applications. Such platforms may produce entirely operational applications, or require additional coding for specific situations.
Low-code development platforms reduce the amount of traditional hand-coding, enabling accelerated delivery of business applications. A common benefit is that a wider-range of people can contribute to the application’s development—not only those with formal programming skills. LCDPs also lower the initial cost of setup, training, and deployment.”
It also highlights the very similar trend of ‘No Code‘ platforms.
The abstraction of software development to enable non-programmers to create code is not a new trend, it’s actually been around for many years, especially among the Model Driven community, notably the OMG.
The core principle of model driven development is the template standardization of common functions so that developers are increasingly freed from reinventing the wheel at the lower levels of code. For example vendors like Mendix have been in this space for a long time.
What has brought it to the fore again is of course Cloud computing – The emphasis of how it enables more rapid development, and the abstraction of development paradigms like Serverless, naturally leads back to this goal of empowering non-technical developers. AWS is themselves pioneering a Low-Code innovation.
Low Code Service Design
A particularly illuminating context explaining it’s value is the popular service design process that front ends Agile development, achieved through hands on workshops that zoom in on specific user features and interaction points, and the overall customer journey through mapping them with post it notes.
Especially in the public sector this has become a widely adopted approach for encouraging a creative and collaborative approach for conceptualizing new digital services.
Agile Infrastructure Design
The value of Low Code becomes apparent when you ask the question: So how do you then translate these new ideas into working systems? How does each post it note become a working feature?
The theory is they will simply be fed into the backlog of the agile development team, and badda bing within weeks the new features pop out the other side.
However this is very much one of those theories that breaks down in the face of many common realities:
- Few organizations have agile teams up to that level of responsive capacity.
- Very few of their business processes are achieved through software maintained by that team, who are usually concentrated on new online, front-end services. Often they run on proprietary enterprise applications supplied by vendors. It requires them to make those code changes.
- Many of these applications are elderly legacy technologies, going back as far as COBOL mainframes.
- Furthermore these applications are delivered and managed via outsourced contracts. Amendments must go through contractual change management procedures.
Therefore we can see that the Idea to Working Feature life-cycle is actually one that can be subject to considerable slow moving bureaucracy, ultimately meaning the overall IT infrastructure isn’t very malleable at all, indeed it is highly resistant to change.
This change resistance variable is the true key to agile delivery – An organization can specifically define related KPIs, like how long the life-cycle is to turn ideas into working code. The longer this is the less agile their IT infrastructure.
So the adoption of low code type approaches is intended to greatly improve this factor, to expand the change throughput capacity by expanding the bottleneck of who can actually implement change, leading to an ideal scenario where service design sessions can implement their new ideas then and there, in real-time. A change resistance factor of zero.