지난 10년간 필자는 웨이브메이커(WaveMaker)를 구축하면서 로우코드가 기적적으로 비즈니스 사용자가 풍부한 기능을 갖춘 애플리케이션을 개발할 수 있게 해줄 것이라는 사용자의 기대를 항상 마주했다. 가능하기는 하지만 항상 그럴 수는 없는 기대였다. 왜 그런 기대가 생겨났을까?
2021년 가트너는 2023년까지 대기업에서 활동하는 일반 시민 개발자가 전문 소프트웨어 개발자보다 4배 더 많아질 것으로 예측했다. 아직 현실화된 예측은 아니지만, 시민 개발 프로그램은 진지한 비판적 관심을 기울일 만큼은 충분히 늘어났다.
우선 시민 개발의 개념을 명확히 해보자. 시민 개발이란 비기술 사용자가 코드 생성을 자동화하는 노코드나 로우코드 플랫폼을 사용해 비즈니스 애플리케이션을 구축하는 것을 말한다.
기업 내에 간단한 휴가 신청 도구가 필요하다고 가정해 보자. 기업은 내부 도구를 구축하기 위해 바쁘고 비용이 많이 드는 전문 인력을 배치할 여력이 없다. 그래서 시민 개발 방식을 택하는 것이다. 시민 개발 모델이 효과적인 이유는 다음과 같다.
- 간단함 : 복잡한 비즈니스 로직이 필요하지 않다.
- 독립적 : 정교한 통합이 필요하지 않다.
- 내부성 : 기업 내에서 앱을 사용하므로 최신 UI가 필요하지 않다.
- 낮은 위험 : 높은 보안 표준을 충족할 필요가 없다.
그러나 미션 크리티컬 엔터프라이즈 애플리케이션에는 이 장점을 취해서는 안 된다.
엔터프라이즈급 애플리케이션 요구 사항
엔터프라이즈급 앱을 구축하려면 다음 5가지 측면에서 강력한 기능을 제공해야 하는데, 비즈니스 사용자의 수행 능력은 절대적으로 부족하다. 천천히 살펴보자.
사용자 경험
경쟁이 치열한 애플리케이션 시장에서 사용자 경험은 경쟁 차별화 요소다. 기업용 앱에는 디자이너의 비전에 충실한 픽셀 단위의 완벽한 UI가 필요하다. 그러려면 UX팀과 개발팀이 긴밀하게 협업해야 한다. 단순히 수동적으로 접근해서는 안 되며 모든 단계에서 디자이너의 의도와 비전을 근본적으로 이해해야 한다. 시민 개발 패러다임에서는 이런 일이 일어나기 어렵다. 비즈니스 사용자는 단순한 드래그 앤 드롭 인터페이스에서 동적 콘텐츠, 마이크로 애니메이션, 브랜딩 요소 등과 같은 디자인의 비전과 복잡한 요소를 변환하는 기술이 부족할 것이다.
애플리케이션 아키텍처
복잡한 엔터프라이즈 앱은 API 설계와 고성능 백엔드 인프라부터 도커 통합에 이르기까지 풀스택 개발 역량을 갖춰야 한다. 비즈니스 사용자는 이 모든 것을 추상화하기 위해 전적으로 로우코드 플랫폼에 의존한다. 일부 플랫폼은 그래도 되지만 대부분은 그렇지 않다. 어느 쪽이든 더 큰 문제는 장기적인 문제 해결에 있다. 기술 분야에서 문제가 발생하면 시민 개발자는 효과적으로 문제를 해결할 수 없다. 그리고 비즈니스 사용자가 구축한 앱의 장기적인 유지 관리 비용은 기하급수적으로 높아질 것이다.
사용자 지정 가능성
시민 개발을 지지하는 사람들은 노코드/로우코드 플랫폼으로 구축된 앱은 사용자 정의가 가능하다고 주장한다. 즉, 요소를 믹스 앤 매치하고 색상을 변경할 수 있다는 뜻이다. 엔터프라이즈 앱의 경우 이 모든 것이 하루 만에 가능하다. 진정한 커스터마이징 기능은 개발자가 복잡하고 최신 기술이 적용된 부분을 직접 코딩해 처리할 수 있는 실제 편집 가능한 코드에서 비롯된다. 로우코드 플랫폼은 이러한 기능을 처리하도록 설계되지 않았기 때문에 비즈니스 사용자는 이러한 유형의 기능을 구축할 수 없다.
성능
엔터프라이즈 앱에는 대규모 애플리케이션 확장, 고가용성, 내결함성, 이식성이 필요하다. 비즈니스 사용자에게 엔터프라이즈 애플리케이션 개발을 맡기면 앱 크기 조정, 모니터링, 압축, 사용자 중심 오류 메시징 등의 측면에서 실패하게 된다. 당연히 성능도 저하된다.
보안
마지막으로, 시민 개발자가 만드는 가장 중요한 허점은 보안이다. 대부분의 보안 공격은 피싱 사기, 랜섬웨어 다운로드 또는 부적절한 자격 증명 관리와 같은 사람의 실수로 인해 발생한다. 실제로 IBM은 올해 도난 또는 유출된 자격 증명을 사용한 사이버 공격이 71% 증가했다고 밝혔다.
전문 개발자도 보안 프로토콜에 어려움을 겪고 있는데, 비즈니스 사용자에게 이러한 기술 표준을 적용하는 것은 불공정하고 비현실적인 일이다. 보안 위협이 빠르게 진화함에 따라 시민 개발자가 보안을 구축할 수 있는 노코드/로우코드 플랫폼의 책임이 커지고 있다. 매우 위험한 상황이다.
비즈니스 팀의 적절한 역할
어떤 면에서 로우코드는 비즈니스 사용자가 개발자가 될 수 있다고 주장하며 두각을 나타냈다. 시민 개발을 지지하는 사람들은 로우코드가 기업 애플리케이션에 필요한 모든 코딩과 규정 준수를 자동화할 것이라고 말했다.
그 후 몇 년 동안 이것이 사실과 거리가 멀다는 것이 알려졌다. 어떤 노코드/로우코드 플랫폼도 자격을 갖춘 개발자를 완전히 대체할 수는 없다. 일반 개발자가 미션 크리티컬한 엔터프라이즈 애플리케이션의 문제를 해결하고, 최적화하고, 관리하고, 보호할 수는 없다. 수없이 보아 온 사례지만 그럼에도 불구하고 계속 물고기에게 밧줄을 던져주고 나무에 오르기를 기대하는 경우가 생긴다.
비즈니스 사용자가 실패의 위험에 처하고 엔터프라이즈 애플리케이션이 손상되는 것을 막으려면 기업은 비즈니스 팀을 애플리케이션 개발에서 완전히 배제해야 한다.
비즈니스 팀이 개발에 전혀 참여하지 말아야 한다고 주장하는 것이 아니라는 점을 분명히 하자. 오히려 비즈니스 팀은 엔지니어링 팀과 긴밀하게 협업해야 한다. 비즈니스 팀의 역할은 요구 사항을 정의하고, 고객의 관점을 반영하고, 피드백을 수집하고, 기능의 우선순위를 정하고, 결과를 검증하는 것으로 끝나야 한다. 그보다 비즈니스 팀은 비즈니스 측면을 담당하고 전문 개발자는 기술 측면을 담당해야 한다.
개발 가속화에 의미 있는 기여를 하려면 노코드/로우코드 플랫폼은 전문 개발자가 빠르고 간단하며 효과적으로 업무를 수행할 수 있도록 지원해야 한다.
Venugopal Jidigam은 기업용 모바일 앱 개발사 웨이브메이커의 엔지니어링 수석 디렉터로 재직하고 있다.
[email protected]
Read More from This Article: 칼럼 | 비즈니스 팀이 애플리케이션 개발에 개입하지 않아야 하는 이유
Source: News