[Low Code] Exploration of parallel development solutions in low code platform collaboration & agile scenarios | JD Cloud Technology Team

The emergence of low-code development platforms has greatly improved the efficiency of product delivery, but in the scenario of collaborative development and agile iteration , some problems have also been exposed.

For example:

  • Multiple people modify the project at the same time, affecting each other and even the modifications are overwritten by each other;

  • Multiple requirements are developed simultaneously under the same project, but the requirements are not unified on the online date, cannot be split and launched, etc.

This article will progressively discuss various solutions to support parallel development based on different demands.

Low-Code Development Platform (LCDP) helps users write applications using a visual graphical interface (drag-and-drop or configuration method) without traditional programming development.

The R&D teams of low-code development platforms often invest more experience in improving and enriching the application building process (for example, enriching the functions that can be implemented through building, optimizing the interactive experience of drag-and-drop building, etc.), while ignoring project delivery Process capabilities and experience.

1. Overall project delivery

Most low-code platforms, especially those with coding capabilities or managed deployment capabilities, will provide services in the form of overall project delivery.

When the user triggers the delivery process, the low-code platform will use the current project configuration, page configuration, etc. to perform code production, CI/CD pipeline and other operations.

Overall project delivery

Overall project delivery

Overall project delivery

2. Reduce delivery granularity

In order to improve the flexibility of delivery, you can reduce the granularity of delivery to avoid the problem of mutual development of multiple people and the simultaneous development of multiple requirements to a certain extent. For example, the page dimension is used as the smallest independent publishable unit .

Reduce delivery granularity

Reduce delivery granularity

3. Virtual branch delivery

In the process of actual demand development, it often happens that the same demand needs to be modified on multiple pages, and the modified contents are interdependent. At this time, you can introduce a concept similar to the branch used in the code development process , associate multiple pages with "branch", use "branch" as a publishable unit, and pages under the same "branch" will be online and delivered simultaneously.

Virtual branch delivery

Virtual branch delivery

Virtual branch delivery

When users are developing requirements, they can create a virtual "branch". When building a page under this branch, the page will be classified into this "branch", and other "branches" cannot edit this page again. When the requirements are delivered, all pages under the "branch" can be released and deployed at the same time.

4. Branching and merging

Although we can define the smallest deliverable unit as a page , there will still be situations where multiple requirements need to modify the same page at the same time.

Low-code platforms often use the page dimension to store and manage configuration information (that is, each page is a complete configuration file). When multiple people or multiple needs need to modify the same page (configuration file), multiple copies and must go through the merge process when delivered. At this time we need to actually introduce development branches , branch merging , conflict resolution , etc.

Branching and merging

Branching and merging

Branching and merging

If the same page is modified and deployed separately, the user who initiates the delivery process later needs to go through the "merge" process.

At this time, the platform will display the modification content modified and delivered by other users or needs since the moment the user started modifying the page, and compare it with this modification content. If the "differences" do not affect each other, they can be automatically "merged"; if there is a "conflict" in the "differences", the user needs to make a decision.

5. Visual branch merging

Users of low-code platforms are likely to be non-researchers, and even if they are developers, it is difficult for users to understand the contents of configuration files. At this time, a visual interactive solution for branch merging and conflict resolution is needed.

Visual branch merging

In the preview area on the left, you can highlight elements that are different or conflicting. In the configuration area on the right, the contents of "Online Status" and "This Modification" are displayed respectively, and the "Difference" icon is used to highlight the contents of different configuration items. Users can switch the version displayed in the preview area on the left by clicking the "Difference" icon. And save it after confirmation.

Future Imagination-AIGC

In the process of low-code collaborative development, you can try to introduce AIGC to understand and analyze configuration information, help users understand and describe the modified content, discover problems and loopholes, and give suggestions when merging configurations.

AIGC

 

Author: JD Retail Niu Xiaoguang

Source: JD Cloud Developer Community Please indicate the source when reprinting

The author of a well-known open source project lost his job due to mania - "Seeking money online" No Star, No Fix 2023 The world's top ten engineering achievements are released: ChatGPT, Hongmeng Operating System, China Space Station and other selected ByteDance were "banned" by OpenAI. Google announces the most popular Chrome extension in 2023 Academician Ni Guangnan: I hope domestic SSD will replace imported HDD to unlock Xiaomi mobile phone BL? First, do a Java programmer interview question. Arm laid off more than 70 Chinese engineers and planned to reorganize its Chinese software business. OpenKylin 2.0 reveals | UKUI 4.10 double diamond design, beautiful and high-quality! Manjaro 23.1 released, codenamed “Vulcan”
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4090830/blog/10326280