In the lesson Introducing SAP S/4HANA Cloud, we learned that one of the benefits of cloud computing is the rapid delivery of innovation in the form of frequent and regular software updates. Also, in the previous lesson, we discussed how a well designed and executed consumer-grade UX strategy leads to the successful adoption of software, and we saw how SAP Fiori apps provide a path for customers to ensure this adoption. There is another equally important and available path for customers to use for adoption, which we explore in this section.
The rapid innovations from cloud computing inevitably lead to rapid changes in business requirements. Business requirements that are changing rapidly mean software applications that need to be created and changed rapidly. While this is not necessarily a bad thing, a real resource constraint exists: IT capacity. While physical capacity, such as computing power, memory, and so on, can be scaled up to meet changing resource needs, people (specifically developers) do not scale quite so easily. This has led to a developer shortage in many, if not most, organizations' IT departments.
This tension between the need for both an increased number of apps to be developed along with the quick pace for their development has necessitated a change in thinking about who does development. Enter the Citizen Developer, which SAP refers to as a Builder. A builder is someone who builds apps (often for a specific LoB) using specialized tools preapproved by the IT department and released to be used for development. This gives businesses an additional option for application development beyond buying prepackaged apps or building apps from scratch (both of which require developers to be able to utilize).
Developers still require tools specialized for their purposes – tools based on a particular language and programming model, with integrated debuggers and advanced testing capabilities. Builders do not need the same type of tools. The tools preapproved by the IT department for builders to use are often referred to as low-code/no-code tools and they are often abbreviated as LCNC.
Low-code is a method of designing and developing applications using intuitive graphical tools and embedded functionalities that reduce traditional – or pro-code – writing requirements.
No-code is a method that benefits from a similar user experience as low-code, but goes the extra mile by allowing nontechnical business users to develop applications without having to write a single line of code.