Executive Update

The Age of the “Citizen Developer”: The Power and Simplicity to Build Software

Posted October 19, 2020 in Business Agility & Software Engineering Excellence
citdev

BA & SEE EXECUTIVE UPDATE VOL. 21, NO. 10
  

Over the last decade, we have seen the so-called softwarization of products, services, and experiences. Organizations that spent decades developing and improving their business models and core capabilities have been outcompeted by those that disrupted their own business models with software. Indeed, it has been famously said that “software is eating the world.” Consequently, in today’s highly competitive environment, organizations find it challenging to fulfill the development and operational demands needed to keep their businesses running while continuing to expand and enhance their digital capabilities.

In this Executive Update, we explore how enterprises can leverage today’s low-code/no-code (LC/NC) solu­tions — declarative development options with relatively low learning curves that provide a company’s workforce with the tools needed to easily create software to grow and transform the business.

What Is Low-Code/No-Code?

Technology and visual tools have progressively simplified complex tasks. In fact, visual programming has so affected and simplified word processing that today’s average seven-year-old child can compose a well-formatted electronic document with graphics in minutes.

LC/NC tools are the latest stage in this evolution. They allow anyone to create application software through GUIs and declarative programming. LC/NC development platforms provide tools for designing applications or systems, along with their required inputs, outputs, and business logic. LC/NC takes a visual approach to build business applications more efficiently. This allows “citizen developers” — such as designers and businesspeople — to build and test applications quickly, without the need for developers. LC/NC platforms enable average people to create apps quickly and then layer customization and added features on top of them. With these options, enterprise users may develop their own apps without ever writing a line of code or while keeping code to a minimum for any optional customization.

The difference between low-code and no-code: whereas low-code solutions usually require some initial installation, deployment, and minimal coding skills, no-code platforms are faster to set, are much easier to use, and hardly require any coding for the most basic functionality. No-code platforms are good for building line-of-business apps when you have limited IT resources and technically savvy businesspeople. On the flip side, low-code development plat­forms are a good choice for professional developers who want to create long-term custom applications that will help implement business requirements but have much higher customization needs — such as pixel-perfect user interfaces.

Benefits of LC/NC

For any business undergoing a digital transformation, an LC/NC approach to development can enable a wider range of people and empower the workforce. It builds on innate creativity and entrepreneurship to automate back-office tasks, which can improve internal operations and execute ideas by quickly mov­ing them from inception to prototyping. It allows anyone from the business without previous technical experience to become a “smart software” generator, which takes the pressure off IT and enables innovation to come from all sides of the business. It also solves real problems that may not otherwise get the attention they deserve by enabling the people closest to them to solve them. So the question is, “Why not devolve processes and capabilities back to key stakeholders?” This also allows companies to avoid offshoring in some cases, keeping the solution closer to the problem. Furthermore, it helps address a common challenge in software creation: how to communicate requirements to developers.

Whether it is used as an innovation catalyst, to boost productivity, or to address the developer shortage, LC/NC’s intuitive user experience (UX), low complexity, and adaptability have a double impact. It brings in new software that would not have otherwise existed and also decreases development time for software that would have otherwise been implemented in a classic manner. This results in faster time to market and significant overall cost reduction (CAPEX and OPEX) when applied properly. For example, LC services specialist Green Lemon Company worked with a logistics company to create a vehicle-tracking dealer portal that went from design to deployment in four weeks. Estimates using traditional development indicated a four- to five-month effort. Our own case studies show similar time-to-value gains (see sidebar “LC/NC Case Studies”). Moreover, LC/NC solutions facilitate a user-centric approach with great flexibility to adapt to cus­tomer needs and evolve the solution. LC/NC skips front-end involvement of IT when starting work on business-critical apps and then brings IT in when it is time for live integrations, security, deployments, and the like.

LC/NC Case Studies

Mobile Network Operator Value-Added Services

We used LC/NC tools to design and implement a plethora of value-added services for a mobile network operator. These ranged from the standard services of balance enquiries, balance transfers, and credit top-ups to more innovative services such as quiz games. The services were all accessed via SMS or the USSD protocol, so there was no need for a GUI. The platform used the Java Business Process Management (jBPM5) engine, with the input employing a business logic designed in a workflow graphical editor. Though the technology used in this example has since been significantly superseded, the core patterns and principles have not. Engineers and developers would establish the core API calls and system API functionality and then hand these over to the business and product people who would then use these as “Lego” blocks to build the necessary functionality. The platform served over 1 million customers, achieving speeds of over 120 transactions a second and proving the efficiency of LC/NC. 

A Robot-as-a-Service (RaaS) Platform for a Global Company

We used a modern LC/NC platform to “smart stitch” together several off-the-shelf software-as-a-service tools (SaaS) to enable CRM (including leads and campaigns), inventory, subscriptions, and help desk. We set up a full greenfield RaaS platform for the European entity of a global corporation. The solution allowed for full customization out of the box for building flowcharts and creating logical steps for the process to make it repeatable, productive, and well structured. The solution also had out-of-the-box connectors to a variety of additional services, such as Amazon Connect, a cloud-based contact center facility that could also be fully customized using simple drag-and-drop tools.

When Should You Use LC/NC?

LC/NC solutions are ideal for nontechnical staff members who understand the business context and are best positioned to drive and challenge requirements. A solution can start with the business and then be handed over to IT for enhancements. This eliminates long IT backlogs or having to procure services from external parties if the company does not have in-house IT capabilities. Most benefits of an LC/NC approach come when it is applied to productivity use cases that require strong business knowledge or projects that have limited initial investment with tight deadlines that require fast turnaround and flexible approaches. Typical applications are as follows:

  • Operational efficiency improvement. Automation of manual and paper-based processes increases accuracy and quality while reducing costs. LC/NC platforms make it easy to create applications for cap­turing information and include ready-made connectors for integrating applications into core systems. Most LC/NC platforms include workflow automation. Workflow tools allow the people closest to the business, such as business analysts, to build the processes and simple touchpoints needed for common customer and employee activities. The tools have easy-to-use GUIs to model processes, and some allow APIs and prebuilt integrations for a wider range of use cases, so workflows are fully integrated with in-house and third-party systems. However, one disadvantage is that they can only provide part of the solution and offer limited ability to alter the user experience; hence, further work may be needed for full automation and integration with other systems.

  • Innovation and prototyping. An often-overlooked capability of LC/NC solutions is innovation and “art of the possible” applications. LC/NC solutions allow business users — the people who best know and understand the challenges and the vision — to unlock value by smart stitching emerging technologies such as the Internet of Things, artificial intelligence, machine learning, and even blockchain together with legacy data. This allows for an iterative test and learn-and-discover approach, in which users create functional prototypes and iterate toward fully functional applications.

  • Smart stitching. The availability of open APIs, microservices, and developments around function-as-a-service (FaaS) and serverless applications underline how new-generation applications are moving toward collections of connected services. Over time, organizations often end up with big suites of tools and systems (bespoke and off the shelf) from different vendors. This is usually the case for global enterprises that have expanded and diversified through both acquisitions and setting up operations in new markets by building applications quickly, without global IT growth strategies in mind. LC/NC platforms enable rapid creation of pinpoint, domain-specific applications, which, via connectors or building middle layers, can be “stitched” together with legacy applications to create end-to-end products. Businesses can use LC/NC tools as tactical solutions to integrate different components to “keep the lights on” while they decide whether they need to replace potential burning platforms in the long term (see Figure 1).

Figure 1 — Easy expansion of operation systems with LC/NC tools.
Figure 1 — Easy expansion of operation systems with LC/NC tools.


Limitations and Barriers of LC/NC

LC/NC solutions offer significant benefits but, of course, are not a panacea. There are some limitations:

  • Technical savvy. Although LC/NC solutions make it possible for nontechnical people to build appli­cations, there could still be barriers to entry from a technical point of view. Aspiring users of LC/NC solutions need to at least know how to operate the tool itself, as well as be aware of some “technical” concepts, such as APIs and databases. For the fully customizable LC/NC options, some code will still need to be written, possibly within the LC/NC tool itself — even if they are basic requirements, such as bits of Javascript, CSS, and simple SQL queries. Thus, employees need the basic technical skills to use the tools or be able to acquire those skills, potentially with some light support from the IT team.

  • Lock-in. All LC/NC development platforms result in lock-in, unlike conventional application platforms. For example, you can’t take an app created using Google App Maker and transfer it into Microsoft Power Apps without rewriting the entire application. Some platforms (e.g., Camunda) allow you to port your application to a different cloud, but not generally to a different tool. (Note that vendor lock-in does not have the same perfidious risk of the old days, when there was complete dependency and prices were constantly increasing.) Healthy competition between vendors helps drive both innovative new features and functionality on LC/ NC platforms while keeping prices down (and reducing year on year). In our view, this is an acceptable risk as long as the competitive differentiation enabled by the app is low.

  • Constrained performance. LC/NC development tools decrease the amount of time needed to build an application. However, the applications that result from LC/ NC development are rarely optimized for performance and efficiency due to the abstract, declarative nature of LC/ NC solutions. Simply put, if you need an app that runs as quickly as possible and consumes the fewest resources, you will have to write bespoke code and go as close to the silicone as you can. However, this does not mean “low” or sluggish performance; rather, this constrained performance refers to low parallelism — not an unpleasant experience. Most day-to-day users won’t care or even notice that the platform showing a well-designed and well-thought-out business dashboard is consuming, for example, 10% more memory and 5% more CPU power than a non-LC/NC equivalent. LC/NC platforms will thus do very well, and modern platforms can scale to millions of users with reasonable requirements if executed correctly.

Introducing LC/NC Solutions into Your Organization

Companies looking to implement LC/NC solutions should consider the following five important priorities to ensure success. Let’s explore each in detail.

1. Establish Business Value-Add and Link to Strategic Objectives

Before embarking on any implementation, it is important to understand the value that the LC/NC application will deliver to your business and how it links to your strategic objectives. Spending time in a discovery phase will not only validate whether you need an LC/NC solution in the first place, but also contribute to a shorter development phase later on, which will lead to savings across the lifecycle. Next, you need to consider the type of application that best fits your organization and, finally, the organizational changes required to implement for success. This is not just about having the right tool, but also knowing how to engage stakeholders and streamline processes, roles, and responsibilities for them to contribute.

Determining how LC/NC tools can best serve your strategic objectives will depend on your organization’s capabilities and enterprise architecture. Traditionally, there has been tension between IT and business departments. The former is incentivized to retain tight control over the application landscape to ensure stability and maintainability (which often leads to a rise in “shadow IT”), while the latter prioritizes speed of development and cost control.

2. Put the Right System Architecture in Place

The appropriate architecture and organizational structure can help facilitate the introduction of LC/NC solutions and relieve the tension between IT and business departments. The introduction of a tiered architecture can help separate the technical and nontechnical aspects of a system. IT users can then focus on the technical details of the application, while others make use of LC/NC tools that focus on business logic. LC/NC tools can make use of the functionality offered by technical components of the system without being concerned with how they were implemented. Figure 2 highlights how this can be achieved with a three-tier architecture.

Figure 2 — Tiered architecture that enables citizen developers.
Figure 2 — Tiered architecture that enables citizen developers.


The system APIs layer will hide the complexity away from users further upstream. Developers and technical resources with intimate knowledge of databases, servers, and other important components are responsible for this layer. The team responsible for building and maintaining the system APIs layer will also have the tools necessary to safeguard critical systems from improper use by applications further upstream.

The logic layer will make use of the functionality offered by system APIs without being concerned with com­plex concepts such as database queries and cache management. Business users could plug into system APIs with LC/NC tools to rapidly create new applications based on their knowledge of user requirements. New insight and value can be created just by combining existing data and capabilities. The logic layer is where LC/NC tools shine because they allow for quick creation of complex business logic by the people who know it best. The logic layer is effectively protected, as the system APIs — created by technical people — provide the guardrails for performance and security.

Last, but not least, the experience layer allows users to create the UIs/UXs they need.

3. Use Good Change Management Practice

Statistics show that between 60%-85% of digital transformation projects fail due to lack of good change management practice and technical skills to execute. Researchers have highlighted how critical change man­agement is in driving a successful outcome. They stress the importance of communication and prioritization, especially during the setup and pilot phase. Simplifying development to offer productivity gains and speed of delivery will require introducing corporate development to non-IT roles, which can be a significant change and cultural hurdle. Without the right training and governance structure, IT will be quickly overwhelmed with pro­duct quality and management challenges, and maintenance will become unsustainable. Tools should enable incremental learning, but it is also important to conduct training sessions to teach and enforce good practices. An organization might need to update some of its devel­opment guidelines to accommodate non-IT roles within the software development lifecycle and make the business accountable for the quality and success of the solutions implemented. Collaboration between business and IT is key — CIOs should act as enablers and champions of change by consolidating commu­nication tools, piloting and encouraging new ways of working, and streamlining processes to foster closer collaboration.

4. Use Minimum Standards Initially

When working with LC/NC platforms for the first time, the organization’s focus should be on meeting the minimum operational process and quality standards early on. A faster pace will follow as applications shift from traditional development approaches, in which IT is fully responsible, to a model in which the business is at the center and realizing objectives is in the hands of the people on the operational front line, who have a better understanding of business functions.

5. Adopt an Agile Development Approach

If an IT capability already exists in the organization, the introduction of LC/NC does not need to disrupt the delivery framework. As an example, in an Agile scrum, the principles, processes, and ceremonies will still be followed, but benefits will be maximized by combining the fast decision making of Agile with the fast devel­opment speeds of LC/NC. Small adjustments will need to be made to adapt and improve the processes that come from this new way of developing, in which demands on non-IT stakeholders will increase, requiring collaboration to be tighter and more frequent. The same quality assurance rigor that is applied to traditional development should still apply. Apps need to follow the mandatory development lifecycle to include testing, security checks, and controlled deployments before going live.

Insight for the Executive

We don’t believe the skill of writing code is becoming obsolete or that software developers will lose their jobs anytime soon — with low-code tools you can do something, but some skills and technical knowledge are still needed to understand how you should do it. We do believe that LC/NC platforms are finally achiev­ing their purpose, giving citizen developers the power and simplicity to build software. They save time and money while accelerating the pace of digital innovation and transformation within organizations.

One of the biggest strengths of LC/NC platforms is that they allow us to take advantage of the innate problem-solving skills of human beings by removing at least a significant portion, if not all, of the barriers to implementing software solutions in today’s softwarized world. Simply put, LC/NC enhances the potential of innovation. This should resonate with organizations that have realized the necessity to become software-driven if they are to survive, and even thrive, in the coming years. Ultimately, the benefits of LC/NC plat­forms are crystallized in their ability to empower entrepreneurial people in the organization to unleash their visions, ideas, and creativity with minimal support through building smart software solutions.


Is Software Eating the World?

The five articles in this issue of Cutter Business Technology Journal address the fundamental challenges facing organizations today in their efforts to transform into software organizations, including strategies for unlocking full value-creating potential. Available for purchase in the Cutter Bookstore. Cutter Members and Subscribers access here.

About The Author
Greg Smith
Greg Smith is a Cutter Fellow and Managing Partner of Arthur D. Little (ADL). He founded and co-leads ADL's Digital Problem Solving practice and is a member of ADL's Executive Committee, where he has responsibility for ADL's global innovation strategy. His work focuses on business strategy in the context of digital transformation as well as the application of disruptive information technologies in solving intractable business problems in major… Read More
Michael Papadopoulos
Michael Papadopoulos is a Senior Consultant with Cutter Consortium's Business & Enterprise Architecture and Business Agility & Software Engineering Excellence practices, and also Chief Architect of Arthur D. Little’s UK Digital Problem Solving practice. He is passionate about designing the right solutions using smart-stitching approaches, even when elegance and architectural purity are overshadowed by practicality. Mr. Papadopoulos leads… Read More
Joshua Sanz
Joshua Sanz is a Managing Consultant at Arthur D. Little (ADL), based in London, and a member of ADL’s Digital Problem Solving practice. He focuses on resolving apparently intractable strategic problems and realizing clients’ highest-value opportunities. Mr. Sanz holds a bachelor’s degree in engineering from Polytechnic University of Catalonia, Spain, and an MBA in international business from EADA Business School, Spain. He can be reached at… Read More
Michael Grech
Michael Grech is a Manager at Arthur D. Little, based in London. He is an experienced digital consultant with a history of working in the management consulting industry. Mr. Grech’s expertise covers software architecture, Agile methodologies, and cloud technologies. He holds a bachelor of science degree in computer science and artificial intelligence from the University of Malta, Malta, and an MBA from Warwick Business School, UK. He can be… Read More
Heather Norris
Heather Norris is a Consultant at Arthur D. Little (ADL), based in London, and a member of ADL’s Digital Problem Solving practice. She focuses on resolving intractable strategic problems and realizing clients’ highest-value opportunities. Ms. Norris holds a bachelor of arts degree in classical archaeology and classical civilization from University College London, UK, and is a Certified Scrum Master. She can be reached at consulting@cutter.com.