Abstract
The concept of low-code (and no-code) platforms has been around for decades, even before the term was used. The idea is that applications on these platforms can be built by people with less technical expertise than a professional programmer, yet can leverage powerful technology such as, for example, for databases, financial analysis, web development and machine learning. However, in practice, software written on such platforms often accumulates large volumes of complex code, which can be worse to maintain than in traditional languages because the low-code platforms tend not to properly support good engineering practices such as version control, separation of concerns, automated testing and literate programming. In this paper we discuss experiences with several low-code platforms and provide suggestions for directions forward towards an era where the benefits of low-code can be obtained without accumulation of technical debt. Our recommendations focus on ensuring low-code platforms enable scaling, understandability, documentability, testability, vendor-independence, and the overall user experience for developers those end-users who do some development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Woo, M.: The rise of no/low code software development-no experience needed? Eng. (Beijing China) 6(9), 960–961 (2020). https://doi.org/10.1016/j.eng.2020.07.007
Dushnitsky, G., Stroube, B.K.: Low-code entrepreneurship: Shopify and the alternative path to growth. J. Bus. Ventur. Insights 16, e00251 (2021). https://doi.org/10.1016/j.jbvi.2021.e00251
Stern, H., Damstra, D., Williams, B.: Professional WordPress: Design and Development. Wiley, Indianapolis (2010)
Estep, K.W., Hasle, A., Omli, L., MacIntyre, F.: Linneaus: interactive taxonomy using the Macintosh computer and HyperCard. Bioscience 39(9), 635–639 (1989)
Aaram J.: Fourth generation languages. In: Rolstadäs, A. (eds.) Computer-Aided Production Management. IFIP State-of-the-Art Reports. Springer, Heidelberg (1988). https://doi.org/10.1007/978-3-642-73318-5_14
Nagy, C., Vidács, L., Ferenc, R., Gyimóthy, T., Kocsis, F., Kovács, I.: Complexity measures in 4GL environment. In: Murgante, B., Gervasi, O., Iglesias, A., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2011. LNCS, vol. 6786, pp. 293–309. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21934-4_25
Coulmann, L.: General requirements for a program visualization tool to be used in engineering of 4GL-programs. In: IEEE Symposium on Visual Languages, pp. 37–41 (1993). https://doi.org/10.1109/VL.1993.269576
Xin, D., Wu, E.Y., Lee, D.J.L., Salehi, N., Parameswaran, A.: Whither AutoML? understanding the role of automation in machine learning workflows. In: 2021 CHI Conference on Human Factors in Computing Systems, pp. 1–16, May 2021
Boai, G., Heath, A.: When simple becomes complicated: why excel should lose its place at the top table. Global Reg. Health Technol. Assess. (2017). https://doi.org/10.5301/grhta.5000247
Badame, S., Dig, D.: Refactoring meets spreadsheet formulas. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 399–409 (2012). https://doi.org/10.1109/ICSM.2012.6405299
Lethbridge, T.C., Forward, A., Badreddin, O., et al.: Umple: model-driven development for open source and education. Sci. Comput. Program. (2021). https://doi.org/10.1016/j.scico.2021.102665
University of Ottawa: Umple website. https://www.umple.org. Accessed Aug 2021
University of Ottawa: Latest Umple Release. http://releases.umple.org. https://doi.org/10.5281/zenodo.4677562
University of Ottawa: UmpleOnline. https://try.umple.org. Accessed Aug 2021
Khorram, F., Mottu, J.M., Sunyé, G.: Challenges & opportunities in low-code testing. MODELS 2020, pp. 70:1–70:10 (2020). https://doi.org/10.1145/3417990.3420204
Almagthawi, S.: Model-driven testing in Umple, Ph.D. thesis, University of Ottawa 2020. https://doi.org/10.20381/ruor-24577
Fagerholm, F., Münch, J.: Developer experience: concept and definition. In: 2012 International Conference on Software and System Process (ICSSP), pp. 73–77 (2012). https://doi.org/10.1109/ICSSP.2012.6225984
Sahay, A., Indamutsa, A., Di Ruscio, D., Pierantonio, A.: Supporting the understanding and comparison of low-code development platforms. In: 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 171–178 (2020). https://doi.org/10.1109/SEAA51224.2020.00036
Paternò, F.: End user development: survey of an emerging field for empowering people. Int. Sch. Res. Not. Softw. Eng. (2013). https://doi.org/10.1155/2013/532659
Repenning, A., Ioannidou, A.: What makes end-user development tick? 13 design guidelines. In: Lieberman, H., Paternò, F., Wulf, V. (eds.) End User Development. Human-Computer Interaction Series, vol. 9, pp. 51–85. Springer, Dordrecht (2006). https://doi.org/10.1007/1-4020-5386-X_4
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Lethbridge, T.C. (2021). Low-Code Is Often High-Code, So We Must Design Low-Code Platforms to Enable Proper Software Engineering. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. ISoLA 2021. Lecture Notes in Computer Science(), vol 13036. Springer, Cham. https://doi.org/10.1007/978-3-030-89159-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-030-89159-6_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-89158-9
Online ISBN: 978-3-030-89159-6
eBook Packages: Computer ScienceComputer Science (R0)