Source-linked AI summary

Characteristics and Challenges of Low-Code Development: The Practitioners' Perspective

Yajing Luo, Peng Liang, Chong Wang, Mojtaba Shahin, Jing Zhan

arXiv:2107.07482v1cs.SE

TL;DR

The paper addresses limited understanding of LCD practices despite industry growth and reported development benefits. It analyzes practitioners’ online discussions to characterize LCD, finding that practitioners associate it with visual, low-code development and ready-to-use units, while expressing conflicting views of its trade-offs.

  • Problem

    Although LCD is growing in industry and reported to accelerate development, its practices are not clearly understood.

    Source: §1 · p. 1
  • Method

    The authors examine practitioners’ posts from Stack Overflow and Reddit to characterize LCD descriptions, features, benefits, and challenges.

    Source: §1 · p. 2, §3.2.2 · p. 4
  • Results

    LCD may offer drag-and-drop graphical development with little or no code, while ready-to-use units can ease use and speed development; practitioners report conflicting views of its benefits and drawbacks.

    Source: §7 · pp. 10–11
  • Takeaways & Limitations

    Developers should consider whether LCD’s characteristics are appropriate for their projects.

    Source: §7 · p. 11

    The authors identify source selection as a validity threat because many LCD platforms have their own forums.

    Source: §6 · p. 10

Abstract

from arXiv · show

Background: In recent years, Low-code development (LCD) is growing rapidly, and Gartner and Forrester have predicted that the use of LCD is very promising. Giant companies, such as Microsoft, Mendix, and Outsystems have also launched their LCD platforms. Aim: In this work, we explored two popular online developer communities, Stack Overflow (SO) and Reddit, to provide insights on the characteristics and challenges of LCD from a practitioners' perspective. Method: We used two LCD related terms to search the relevant posts in SO and extracted 73 posts. Meanwhile, we explored three LCD related subreddits from Reddit and collected 228 posts. We extracted data from these posts and applied the Constant Comparison method to analyze the descriptions, benefits, and limitations and challenges of LCD. For platforms and programming languages used in LCD, implementation units in LCD, supporting technologies of LCD, types of applications developed by LCD, and domains that use LCD, we used descriptive statistics to analyze and present the results. Results: Our findings show that: (1) LCD may provide a graphical user interface for users to drag and drop with little or even no code; (2) the equipment of out-of-the-box units (e.g., APIs and components) in LCD platforms makes them easy to learn and use as well as speeds up the development; (3) LCD is particularly favored in the domains that have the need for automated processes and workflows; and (4) practitioners have conflicting views on the advantages and disadvantages of LCD. Conclusions: Our findings suggest that researchers should clearly define the terms when they refer to LCD, and developers should consider whether the characteristics of LCD are appropriate for their projects.

1 INTRODUCTION

LCD is presented as a response to organizations’ need for faster, more economical software development amid rising demand and difficulty recruiting engineers. The study uses online developer communities to characterize practitioners’ views of LCD and its features, benefits, and challenges.

1 INTRODUCTION

  • Organizations seek faster and cheaper ways to meet software needs amid changing markets, rising demand for information systems, and difficulty recruiting software engineers.LCD emerged with the promise that business professionals without coding experience could build applications.Source: §1 · p. 1
  • Despite industry growth and reported acceleration of development, LCD lacks a clear understanding of its practices.A cited Forrester survey reports that LCD platforms can accelerate development by 5 to 10 times.Source: §1 · p. 1
  • The study examines practitioner discussions in Stack Overflow and Reddit to gather opinions and experience about software development.Stack Overflow hosts developer Q&A, while Reddit organizes user-submitted content into subject-focused subreddits.Source: §1 · p. 1
  • The authors explore practitioners’ descriptions of LCD, characterize its platforms and technical features, and collect views on its strengths and weaknesses.They analyze the collected data using Constant Comparison and descriptive statistics.Source: §1 · p. 2

2 RELATED WORK

Prior LCD research includes platform studies and empirical analysis of developer discussions, but the authors identify a gap in research on how practitioners understand and describe LCD. Related software-engineering research also uses online communities, including Stack Overflow and Reddit, as sources of practitioner discussion.

2.1 Low-Code Development

  • Earlier LCD work includes platform-focused studies and an empirical Stack Overflow study, while this study examines descriptions and pros and cons using both Stack Overflow and Reddit.The authors distinguish their keyword-based search from the earlier study’s platform-tag search, which they considered potentially biased toward specific platforms.Source: §2.1 · p. 2
  • The authors identify no prior study exploring practitioners’ understanding and description of LCD, and frame their study as a broad account of its characteristics and challenges.Its nine research questions cover LCD descriptions, platforms, programming languages, implementation units, supporting technologies, application types, domains, benefits, and challenges.Source: §2.1 · p. 2

2.2 Using Online Developer Communities in Software Engineering

  • Software-engineering researchers have used online communities to study practitioner topics, and the authors selected Stack Overflow and Reddit because their Q&A data captures practitioner opinions.Examples include Stack Overflow studies of chatbot discussions and programming errors, and Reddit discussions of architecture erosion.Source: §2.2 · p. 2

3 METHODOLOGY

The study characterizes LCD from practitioners’ perspectives using posts from Stack Overflow and Reddit. It defines nine research questions, collects and filters candidate posts, extracts data items, then combines qualitative analysis with descriptive statistics.

3 METHODOLOGY

  • The study’s goal is to characterize industry perceptions of LCD across multiple aspects from practitioners’ posts in Stack Overflow and Reddit.The research process is presented as the means of answering the study’s research questions.Source: §3 · p. 2, Figure 1 · p. 3

3.1 Research Questions

  • Nine research questions cover practitioners’ understanding of LCD, its platforms and technologies, application types and domains, and its benefits and challenges.The questions also ask about programming languages and implementation units.Source: §3.1 · pp. 2–3

3.2 Data Collection and Filtering

  • Data collection used Stack Overflow and Reddit posts gathered from January through April 2021.The initial Stack Overflow search terms included “low-code,” “zero-code,” and “no-code”; platform names were excluded to avoid bias toward specific platforms.Source: §3.2 · p. 3, §3.2.1 · p. 3

3.2.1 Search and collect candidate posts.

  • They assessed additional keywords by co-occurrence probability, considering terms above 0.05 and manually reviewing frequent co-occurrences; no additional keywords were found, so the original set was considered adequate and comprehensive.Source: §3.2.1 · p. 3

3.2.2 Filter candidates.

  • Filtering retained posts with at least one extractable data item and excluded irrelevant posts or posts containing only links or videos; 301 posts remained from 1,574 candidates.The authors report the search-term counts for Stack Overflow in Table 1 and the subreddit counts for Reddit in Table 2.Source: §3.2.2 · p. 4, Table 1 · p. 4, Table 2 · p. 4

3.3.1 Extract data.

  • Data extraction used a 10-post pilot, discussion of inconsistencies, and a reexamination of all posts by the first author.The extracted data items are organized by research question in Table 3.Source: §3.3.1 · p. 4, Table 3 · p. 4

3.3.2 Analyze data.

  • For RQ1, RQ8, and RQ9, authors used Constant Comparison and consensus-based coding; they used descriptive statistics for the other research questions.The analysis methods for the data items are summarized in Table 4.Source: §3.3.2 · p. 4, Table 4 · p. 5

4 RESULTS

Practitioners describe LCD through low coding effort, visual interaction, and prebuilt development elements, while the results cover platforms, languages, implementation units, domains, benefits, and challenges. Reported benefits coexist with concerns about customization, complexity, and other limitations.

RQ1: Understanding of LCD

  • Practitioners most often describe LCD as requiring little code, followed by drag-and-drop and visual programming.Other descriptions include templates, graphical interfaces, WYSIWYG, business processes, and database scaffolding.Source: §4 · p. 5

RQ2: Platforms used in LCD

  • Of 21 LCD platforms mentioned at least 10 times, 14 are commercial and 7 are open-source.Across 137 platforms, classifications by application part total 218 counts because platforms can support multiple parts.Source: §4 · p. 5

RQ3: Programming languages used in LCD

  • Java and JavaScript each appeared in five posts about programming languages used with LCD.C# and Python appeared three times each; HTML and CSS together appeared twice, while Objective C, PHP, and C++ appeared once each.Source: §4 · p. 6

RQ4: Implementation units in LCD

  • API-based units accounted for 47 of 137 implementation-unit instances, followed by template-based units with 34.The remaining instances included 25 component-based platforms, 15 service-based, 8 framework-based, 7 widget-based, and 1 SDK-based.Source: §4 · p. 6

RQ5: Supporting technologies used in LCD

  • Seven of 301 posts contained discussion of supporting technologies, and two posts mentioned React Native.The supplied results also mention Draftbit exporting code using Expo, an SDK based on React Native.Source: §4 · p. 6

RQ7: Domains that use LCD

  • E-commerce was the most-mentioned LCD application domain, with 9 instances; Business Process Management and Social Media each had 7.Other reported domains included CRM (4), CMS (3), ETL and Entertainment (2 each), and RPA and Medical (1 each).Source: §4 · p. 7

RQ8: Benefits of LCD

  • Reported LCD benefits include easier deployment, cost-effectiveness compared with programming, improved IT governance, and suitability for team development.The results section states that 16 advantages were refined from 210 instances, but the supplied passages do not enumerate them all.Source: §4 · p. 7

RQ9: Limitations and challenges of LCD

  • Practitioners reported challenges including steep learning curves, high pricing, restrictive customization, slow loading or publishing, and difficulty with complex issues, maintenance, debugging, and integration.Some also cited vendor lock-in, lack of source-code access, and the continuing need for coding or basic programming knowledge.Source: §4 · p. 7

5 DISCUSSION

Practitioners describe LCD through visual, low-code interfaces and reusable implementation units, while reporting both development benefits and substantial trade-offs. The authors recommend defining LCD clearly and judging its fit against project needs and traditional development.

5.1 Interpretation of Results

  • LCD may offer a graphical, drag-and-drop interface with little or no hand-coding, and practitioners also describe it through visual programming and pre-designed templates.The authors connect these features with LCD’s appeal to non-professional programmers.Source: §5.1 · p. 8
  • LCD platforms vary between commercial and open-source offerings, and the same platform may support multiple application parts, potentially extending from frontend and workflow to integration.Platform choice involves trade-offs: commercial software may provide more advanced and convenient functions, while open source may require less financial support.Source: §5.1 · p. 8
  • Out-of-the-box units such as APIs, services, components, widgets, templates, and frameworks are more intuitive than code and can make platforms easier to use and development more agile.APIs and services commonly support backends, components and widgets frontends, and templates and frameworks both.Source: §5.1 · pp. 8–9
  • The supporting technologies behind LCD are diverse rather than dominated by a specific technology, with Java and JavaScript both popular among the languages used.Technologies described include frameworks, runtime environments, analytics engines, protocols, and data-transformation languages.Source: §5.1 · pp. 8–9
  • Mobile applications were the most frequently reported application type, while LCD use is particularly associated with process-intensive domains and workflow automation.The authors note that different platforms support different application types and recommend choosing platforms according to project needs.Source: §5.1 · p. 9
  • Practitioners report both faster development and easier use, and drawbacks including slow loading or publishing, learning costs, expense, limited customization, and difficulty maintaining or debugging applications.Views also conflict over quality, security, scalability, maintainability, and whether LCD is newcomer-friendly or constraining for experienced developers.Source: §5.1 · p. 9

5.2 Implications

  • Because no clear definition of LCD exists in academia or industry, the authors call for researchers to refine practitioners’ descriptions and build consensus.They also advise developers to assess platform features, budgets, skills, implementation units, and application type and domain when choosing a platform.Source: §5.2 · p. 10
  • LCD cannot replace traditional development; developers should weigh development time, learning cost, budget, and customization before choosing an approach.The authors conclude that LCD may accelerate development when its features fit project requirements, but otherwise can increase difficulty and complexity.Source: §5.2 · p. 10

6 THREATS TO VALIDITY

The study’s results are bounded by possible bias in its data sources and search terms, as well as manual extraction and analysis. The authors describe steps intended to mitigate these threats and support reliability.

Internal validity

  • The authors did not investigate causal relationships, so they do not assess internal validity.Source: §6 · p. 10

Construct validity

  • Platform-specific forums may leave relevant discussion underrepresented in Stack Overflow and Reddit, while the selected search terms may not cover all LCD posts.The authors also identify manual extraction and analysis as a threat, and describe piloting and author discussion to mitigate it.Source: §6 · p. 10

External validity

  • Using only Stack Overflow and Reddit may limit generalization, though the authors say that using two popular online developer communities partially mitigates this threat.Source: §6 · p. 10

Reliability

  • A detailed protocol, publicly available dataset and coding results, and pilot extraction were used to support replicability.The authors report that they are confident the results are relatively reliable.Source: §6 · p. 10

7 CONCLUSIONS

The study summarizes practitioners’ descriptions of low-code development, its use, and its trade-offs. It concludes that developers should judge whether its characteristics fit their projects.

7 CONCLUSIONS

  • Practitioners describe LCD through low-code and drag-and-drop, suggesting it may offer a graphical interface requiring little or no code.Source: §7 · p. 10
  • Out-of-the-box units make LCD platforms easier to learn and use and speed development, while platforms vary in the application types and parts they support.Source: §7 · p. 10
  • LCD is particularly favored in domains needing automated processes and workflows.Source: §7 · p. 10
  • Practitioners report both benefits and challenges: LCD can speed development with minimal human involvement, but commercial platforms may restrict source-code access and create vendor lock-in.The authors advise developers to assess whether LCD’s characteristics suit their projects and propose studying when benefits become limitations.Source: §7 · p. 11
Loading 2107.07482v1…