Offcanvas

AI / 개발자 / 머신러닝|딥러닝 / 애플리케이션

기고 | ‘로우코드 솔루션 쓰면 코드 품질이 낮아진다’는 오해

2024.02.21 Venugopal Jidigam  |  InfoWorld
로우코드 솔루션은 개발자에게 생산성 향상이란 혜택을 제공한다. 로우코드 솔루션을 쓰면 구성 요소 또는 모듈 수준에서 추상화를 재사용할 수 있어 맞춤형 소프트웨어를 개발하는 데 필요한 시간을 줄여준다. 이런 장점에도 불구하고 많은 개발자가 로우코드 솔루션을 오해하며 활용을 꺼리곤 한다. 이번 기고에서는 그런 오해를 바로잡고자 한다.
 
ⓒ Getty Images Bank

우아하게 작성된 컴퓨터 코드에는 예술성이란 것이 담겨있다. 정교하게 프로그램 설계를 할 때 다시 말해 장인정신을 발휘할 때 프로그래머는 자부심을 느낀다. 기능의 세세한 부분까지 신경 쓰는 그런 작업을 할 때 말이다. 뛰어난 장인정신을 발휘하려면 뛰어난 도구가 뒷받침돼야 한다. 로우코드는 그런 뛰어난 도구 중 하나이며, 실제로 로우코드 개발 솔루션을 채택하는 개발자가 늘고 있다. 이런 도구로 개발자는 코딩 프로세스가 아닌 애플리케이션 서비스에 집중한다.

누군가는 로우코드 솔루션이 코딩의 우아함을 줄인다고 주장한다. 로우코드 솔루션의 기능은 제한적이고, 특정 기능만 수행하는 드래그앤드롭 방식이 많다는 이유에서다. 정말로 로우코드 솔루션은 유연성이 없을까?

사실 로우코드 솔루션이 인기를 얻고 있는 것은 다용도성 때문이다. 로우코드 솔루션은 프로그래밍 품질과 타협하는 대신 애플리케이션을 더 창의적이고 더 생산적으로 만들 수 있는 자유를 제공한다. 로우코드 솔루션의 숨겨진 위험성을 지적한 최근 기사에 대한 답변으로 로우코드의 장점과 더 많은 개발자가 로우코드 플랫폼을 채택하는 이유에 대해 몇 가지 생각을 정리해 보았다.

혁신을 촉진하는 로우코드 솔루션
어떤 사람들은 로우코드 솔루션을 쓰면 생각을 기계에 맡기기에 ‘사람을 바보로 만든다’고 주장한다. 로우코드 솔루션을 쓴다고 컴퓨터에 제어권을 넘기는 것이 아니다. 인간의 생각을 멈추게 하는 것이 아니다. 오히려 로우코드 솔루션은 개발자가 더 나은 소프트웨어를 만들도록 돕는다. 다시 말해 로우코드 솔루션은 프로그래머를 대체하는 것이 아니라 프로그래머 역량을 보강 해준다.
 
소프트웨어 개발에는 많은 반복 작업이 수반된다. 이는 부인할 수 없는 사실이다. 로우코드 솔루션은 이러한 작업을 간소화하여 개발자가 더 나은 결과를 도출하도록 핵심 문제 해결에 집중하도록 돕는다. 최고의 로우코드 솔루션은 프로그래밍 결정을 지시하지 않는다. 대신 프로그래밍을 간소화하여 더 빠른 개발을 촉진하는 프레임워크를 제공한다.

로우코드 솔루션은 여전히 사람의 감독이 필요하다. 모든 애플리케이션 개발에는 점검과 사람의 감독이 필요하다. 로우코드 솔루션을 사용하면 이러한 점검 과정이 더 간단해지고 간소화되므로 개발자는 버그 찾기보다는 전반적인 품질 관리와 기능에 집중할 수 있다.

세부 맞춤 설정이 가능한 로우코드 솔루션
로우코드 솔루션은 광범위한 사용자층을 겨냥해 개발된다. 그래서 누군가는 로우코드가 누구나 활용할 수 있도록 일종의 최소 기능만 제공한다고 주장한다. 하지만 로우코드 솔루션은 특정 애플리케이션이나 워크플로우에 충분히 적용할 수 있다. 그래서 좋은 로우코드 솔루션은 적응력이 뛰어나며 거의 모든 비즈니스 요구 사항에 맞게 맞춤화할 수 있다.

최신 로우코드 솔루션에는 사용자 지정, 구성 및 확장성 옵션이 포함되어 있다. 모든 드래그앤드롭 위젯은 기본적으로 유용한 기능을 제공하고 애플리케이션을 더 빠르게 구축할 수 있도록 설계된다. 또한 여러 이벤트에서 다양한 방식으로 비즈니스 로직을 처리할 수 있는 선택지를 제공한다.

로우코드 솔루션 내 위젯을 사용하면 개발자는 작은 구성 요소를 테스트하기 보다 통합 및 기능 테스트에 집중할 수 있다. 로우코드 솔루션은 이전 버전과도 호환되므로 개발자는 레거시 코드 업데이트에 대해 걱정하지 않아도 된다. 예를 들어 엔터프라이즈 애플리케이션은 정기적으로 업데이트되며 코드가 변경되면 새 릴리스가 발행된다. 로우코드 솔루션은 이전 버전과의 호환성을 처리하므로 개발자는 레거시 소프트웨어의 통합 문제 해결에 대해 걱정할 필요가 없다. 또한 로우코드를 사용하면 개발자는 취약점 보안에 대해 덜 걱정해도 된다. 로우코드 플랫폼이 보안 요소를 알아서 처리하기 때문이다.

많은 로우코드 솔루션이 선택지를 충분히 제공하며 개발자의 역량을 강화하여 소프트웨어 개발을 가속화하는 동시에 맞춤형 프로세스와 기능을 지원한다. 흔히 로우코드 솔루션은 여러 기능이 묶음으로 제공되거나 또는 기성품 형식의 소프트웨어라고 오해한다. 실제로 써보면 로우코드 솔루션은 기업 내 개발 환경을 세부적으로 반영하며 소프트웨어를 개발할 수 있도록 돕는다. 로우코드 솔루션을 사용하면 특정 요구 사항, 비즈니스 프로세스 및 워크플로우에 따라 맞춤형 애플리케이션을 더 쉽고 빠르게 구축할 수 있다.

로우코드 솔루션의 낮은 편향성
AI의 발전으로 프로그래밍을 도와주는 도구는 더 많아지고 있다. 전문 개발자부터 비즈니스 분석가까지 누구나 챗GPT 같은 도구를 사용하면 애플리케이션을 개발할 수 있는 시대가 온 것이다. 하지만 로우코드와 AI와 혼동해서는 안 된다.

AI 모델은 모순되거나 편향된 내용을 기반으로 결과를 출력하곤 한다. AI 알고리즘은 그걸 만든 인간의 편향성을 품고 있는 경우가 많다. AI의 편향성은 데이터를 잘못 해석하거나, 잘못된 데이터를 사용하거나, 관련 데이터를 누락하거나, 편견이나 고정관념이 포함된 데이터를 사용하면서 발생될 수 있다. 대표적인 예가 얼굴 인식에 AI를 사용하는 것이다. 백인 프로그래머가 얼굴 인식 알고리즘을 개발할 경우 해당 AI는 유색인종을 잘못 인식하는 경우가 더 많다.

로우코드 솔루션은 AI가 코드를 생성하는 과정과는 다른 접근 방식을 사용한다. 따라서 편견에 덜 영향 받는다. 가령 AI를 코딩 작업에서 쓴다면 개발자는 코드를 검토하고 기술 스택을 유지 관리하고 업그레이드하는 데 더 시간을 투자해야 한다. 반면 로우코드 솔루션은 엔터프라이즈 애플리케이션에 쓸 수 있도록 테스트와 검증을 진행해 놓는다. AI와 달리 로우코드 솔루션은 디버깅 및 기능 개선 등 반복적인 개발을 지원하도록 설계됐다. 로우코드 도구는 예측을 요구하지 않기 때문에 편견이 없는 사전 정의된 템플릿을 사용하여 코드를 생성하다. 템플릿은 항상 일관되고 정확하다.

로우코드 도구를 이용하면 개발자는 구성 요소 또는 모듈 수준에서 추상화를 재사용하면서 생산성을 대폭 높일 수 있다. 코드 재사용을 하면서 맞춤형 솔루션 개발을 보다 빨리 할 수 있다. 로우코드 플랫폼을 사용하면 개발팀은 반복적인 접근 방식을 사용하여 코드를 개선하고, 사용 현황을 관찰하고, 개선 사항을 파악하며 소프트웨어를 더 쉽게 구축할 수 있다. 로우코드 솔루션은 애자일 개발 방법론을 염두에 두고 개발된 도구라고 할 수 있겠다.

그렇다고 로우코드 솔루션이 개발자를 대체한다는 의미는 아니다. 모든 창의적인 노력과 마찬가지로, 더 나은 도구는 소프트웨어 개발자가 더 창의적으로 일할 수 있도록 도와준다. 여전히 사람의 감독이 필요하다. 사용하는 만큼 도구는 혜택을 제공한다. 점점 더 많은 프로그래머가 로우코드 플랫폼이 개발팀 전체에게 이점을 주고 있다는 것을 깨닫고 있다.

*필자 Venugopal Jidigam은 로우코드 솔루션 업체 웨이브메이커의 엔지니어링 수석 디렉터이다.
ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.