The Productivity Debate: Low-Code vs. Code-Based Software Development
It takes a lot of time and money to produce quality software. Companies are always looking for ways to make the development process more productive because it translates into shorter development times, lower costs, and less need for specialized resources.
In recent years, there has been a rise in low-code platforms that aim to enhance and accelerate software development to achieve this goal. Although low-code platforms are becoming increasingly popular, there have been limited scientific studies that explore the claims they increase productivity until now.
Low-Code vs. Code-Based Development
Code-based development involves writing source code in programming languages like Python, Java, C/C++, and C#, which gets compiled or interpreted and converted into machine code that an operating system can run.
Low-code platforms provide a graphical environment for application development, which is easier to use and allows for faster development and delivery while requiring less programming knowledge. However, licensing costs for low-code technologies are usually higher compared to code-based technologies.
Want More Tech News? Subscribe to ComputingEdge Newsletter Today!
An Experiment to Determine if Low-Code Development Increases Productivity
To determine if low-code can make the development process more productive, a laboratory experiment was conducted using OutSystems as the low-code technology and Django and Python as the code-based technology. For the experiment, a new software application was created using both technologies, and productivity was assessed in two phases: software development and software maintenance.
Two developers with extensive experience using the target technology in a professional environment conducted the experiment. Both were familiar with the domain and the type of software being developed, which was a management information system. The application ran on the web and had three user roles with different permissions to manage projects and users.
Use case points analysis (UCPA) was used to measure productivity in the experiment because it allowed researchers to estimate the size of the project based on its requirements without a dependency on the technology used. UCPA assigns points to each use case based on its complexity, such as the number of steps involved, the number of data elements processed, and the number of external interfaces used. These points are then used to calculate the overall size and complexity of the software application.