Theaccelerated many things digital, and among them, the drive to open up relatively simple interfaces that enable non-technical users to build their own applications, as well as speed up the work of professional developers -- known as low-code or no-code solutions. At the same time, some industry observers point out that citizen developers aren't going to be taking the reins of IT anytime soon.
There's no question that the Covid situation accelerated the low-code/no-code movement out of necessity. And with it, came the platforms. While "use of prepackaged software components and frameworks to accelerate custom development is not new... the quick response of development platform vendors as solutions providers during the early Covid-19 crisis will be seen as a signal event in emergence of prescriptive low-code platforms," according to an analysis issued by Forrester analysts John Bratincevic and John Rymer. (Available as a free download from Ultimus.)
The emphasis is on prescriptive, as these platforms aren't just tools, as they offer, through highly visual components, "Lego-like blocks of business functionality" to configure and compose enterprise applications. "They abstract business functions through business components that manage invoice processing, ledgers, timesheets and schedules, onboarding, and other business functions."
Still, as Bratincevic and his co-authors caution, low- and no-code progress is dependent on how far vendors are willing to go. "Most advocates of prescriptive low-code are small vendors requiring deep customer commitments. And vendors must deliver both business-domain and development-platform expertise."
In many ways "low-code" and "no-code" are forever a promise that are just a couple of years away. As Steve Jones, CTO of Capgemini, pointed out in a recent post, "the number of developers in IT only continues to increase, and is forecast to keep increasing... how come if 'no-code' is going to be the future?"
Jones recalls how certain Windows environments in the 1990s served as "low-code" platforms, later to be followed by Java platforms -- "I remember using a tool such as VisaJ which enabled you to visually model your Swing GUI and have the Java code generated, no-code," he relates. "Roll forwards to BPEL and BPMN and vendors talked about it being a no-code as everything was meta-data, then we had 'Mashups' that enabled people to quickly create data driven applications and combine them together."
Jones has a simple, one-question test to determine the viability of low-code or no-code applications: "Do you have an 'if' statement or equivalent?" If so, those conditions need to be tested, he adds, noting that low- and no-code environments should be referred to as "no-test" environments. "People rapidly create things, rapidly deploy things and rapidly regret things, if there is one thing for certain it's that each subsequent generation of technology makes it easier to build bad solutions fast."
Ideally, what low-code and no-code environments need is a way to automatically manage the mistakes users will make, he adds.
At the same time, while low-code and no-code platforms are on the rise, professional developers aren't going to see their employment prospects dim anytime in the near or distant future. "These tools are getting better, but they won't replace developers any time soon," relates Tatum Hunter in a recent post at the Built In community. For starters, "low-code and no-code won't siphon jobs from developers because those platforms don't facilitate the work devs do in the first place," she writes. "Large companies already have developers on staff for custom software needs, while the small and medium companies would probably never consider hiring developers for internal tooling."
The roles of developers are elevated, as they are less mired in low-level coding and integration tasks. "No-code and low-code platforms have the potential to boost the business value of programmers and non-programmers alike. Thanks to abstraction, non-technical employees can quickly spin up common types of applications and mold them to their immediate needs," Hunter says. "Thanks to automation, devs save time on repetitive tasks like data entry or reporting."
But "there are still plenty of ways for no-code and low-code to go awry," she adds. "Both programmers and non-programmers can quickly lose track of the architecture of what they're building, which makes for jumbled, poorly performing software." She quotes Alex Hudson, a CTO advisor, who notes that while low-code and no-code systems "work very well on the small scale -- that functional-level process where you're looking at small pieces of logic -- but when you're trying to piece it all together and see how all these things interact, it just becomes really, really difficult."
For their part, Forrester's Bratincevic and his team observe that no matter how advanced low- and no-code solutions get, IT professionals will still need to do plenty of hand-holding. "Don't confuse 'no code' with 'no work,'" they advise. "Prescriptive low-code vendors promising solution delivery without any coding are promoting quicker solution delivery and evolution as well as potentially reduced technical debt. They're not promising that business experts can deliver substantial projects without attention to good development and delivery practices. Discipline still matters."
Ultimately, software development is a high expression of creativity that can't be automated. As Mary Rose Cook, an engineer with Airtable, also quoted in Hunter's article, put it: "If programs are just a means to get things done, then sure, developers should be worried about automation's growing capabilities. But if programs are a means for humans to creatively tackle new problems, explore new philosophies and even make art, the need for programmers will never go away."