자세히 보기

Peter Wayner
Contributing Writer

‘혹하는 약속, 그러나 반대급부도 있다’··· 로우 코드의 장단점 각 7가지

기한과 일정에 대한 스트레스, 유지관리에 대한 압박이 심하다. 그러니 로우코드 개발 도구에 대한 ‘잠재력’이 아주 근사하게 들린다. 개발자가 아닌 사람도 클릭 몇 번으로 쉽게 간단한 앱을 구현할 수 있다는 ‘약속’을 이야기하는 것이다.

수많은 벤더들이 ‘로우 코드’라는 유행어를 내세우며 자사의 개발 도구 구입을 권유하고 있다. 실제로 최소한의 노력으로 마법 같이 모든 일들을 처리할 수 있는 도구들이 꽤 많다. 다루기 까다로운 개발자들 없이 괜찮은 품질의 소프트웨어를 쉽게 만드는 것이 가능해지기는 했다.  

그러나 하기는 쉽지만, 지키기는 어려운 것이 약속이다. 많은 경험 많은 CIO들이 과거 이런 약속을 들었고, 이런 약속이 때때로 지켜지지 않는 것을 봤다. 컴퓨터의 역사는 앞선 프로그래머가 만든 계층의 거친 부분을 고치기 위해, 새로운 코드 계층을 추가해 나간 역사나 다름없다. 

첫 번째 소프트웨어 컴파일러는 머신 코드를 쓰는 것에 대한 로우 코드적 대안으로 간주됐었다. 그런데 머신 코드 역시 ‘튜브’ 간 연결을 바꾸는 것에 대한 로우 코드적 대안이었다. 이런 식으로 새로운 도구들이 과거 구현된 것의 ‘손쉬운’ 버전으로 홍보됐었다.

좋은 소식은 멀찌감치에서 보면 도구들의 발전이 꽤 긍정적이었다는 것이다. 실제로 더 적은 노력으로 더 많은 것을 할 수 있게 되었다. 그러나 가까이에서 보면 조금 혼동스럽다. 큰 개선 및 향상과 함께 이를 관리하는 책임이 수반되는 경우가 많다. 최상의 구성 방법과 도구를 ‘마스터’하는 데 무언가를 처음부터 구현하는 것과 거의 비슷한 노력을 들여야 하는 때가 많다.

이 둘 사이의 ‘마찰’에 대해 이해하고 관리하는 것이 로우 코드를 고려하는 기업들이 풀어야 할 도전과제다. 로우 코드가 제공하는 혜택이 비용에 상응하는 가치를 제공할까? 현재 제시된 약속과 잠재력을 어느 정도 수용할지 결정하기 위해, 지금부터 소개할 로우 코드 도구를 수용해야 하는 7가지 이유, 피해야 할 7가지 이유를 균형 있게 고려해야 한다.

◆ 장점 : 속도
로우 코드 벤더들은 한 가지 목적을 추구한다. 모든 사람이 빠르게 새 소프트웨어를 창조할 수 있도록 돕는다는 것이다. 사용자는 클릭 몇 번으로 하나의 형태를 가진 하나의 페이지를 만들 수 있다. 몇 개의 형태와 보기(인터페이스)를 연결하면 앱이 구현된다. 

일부 민첩한 사용자는 앱에 대해 논의를 하는 회의 동안 실시간으로 앱을 개발할 수 있을 정도다. 그 정도로 클릭, 컴파일링, 테스트 순환 주기가 빠르다. 좋은 소식은 이런 도구들이 ‘약속’처럼 기능할 때가 제법 있다는 것이다. 전달할 수 있는 것들의 ‘스위트 스폿’을 맞출 수 있다면, 진짜 개발자들로 구성된 팀을 참여시킬 때보다 더 적은 시간에 완료할 수 있다.

◇ 단점 : 속도
도구가 빨라서 나쁠 일은 드물다. 그러나 서둘러 소프트웨어를 개발하는 것이 실수가 될 수 있다. 코딩이 쉬워지면서, 고객 입장에서 기능을 계획하고 애플리케이션을 정의하는 것이 진짜 도전과제가 됐다.

지나치게 속도를 중시하면 작업을 마치고 몇 분 만에 실망할 수 있다. 팀이 이 시간에 3개 프로토타입을 끝낼 수도 있지만, 이 과정에 반드시 해결해야 할 수십 가지의 철학적 문제점이나 개념적 장애물을 무시할 수 있다. 속도가 전략적인 사고에 방해가 될 수도 있다는 이야기이다. 진짜 도전과제는 원하는 것을 만드는 것이 아니라 처음부터 원하는 것을 파악하는 것이다.

◆ 장점 : 안정성
맞춤형 소프트웨어는 기업이 유지관리하기 힘들다. 소프트웨어를 만드는 것은 사실 전체 소프트웨어 생애 주기에 있어 시작에 불과하다. 최초 버전을 만드는 것보다 유지관리에 더 많은 노력이 요구되는 경우가 많다.

로우 코드 도구들은 솔루션 전반에 걸쳐 지원 비용 문제를 줄여줄 수 있다. 새 OS 버전이 출시되거나, 의회에서 새 데이터 보관 규정이 통과되면, 로우 코드 도구 벤더들은 조치를 취할 것이다. 로우 코드 플랫폼 도입은 단순한 결합이 아닌 모두 하나가 되는 통합이다. 작은 통합일 수 있지만, 이는 내부 직원으로만 관리를 하려 시도할 때보다 더 큰 안정성을 선물한다.

◇ 단점 : 공동 운명체
로우 코드 플랫폼을 만든 회사에 지원을 떠넘기면 많은 돈과 시간을 절약할 수 있지만, 안정성은 보장되지 않는다. 물론 잘 관리되는 프레임워크라면 미래를 순항할 수 있지만, 모든 비즈니스가 잘 관리되는 것은 아니다. 기업에서 일어날 수 있는 사건, 사고가 당신이 사용하는 플랫폼을 망가뜨릴 수 있다. 

예를 들어, 중년의 위기를 맞은 CEO가 도박에 빠져들 수 있다. CFO가 IRS 세금 문제에 있어 제멋대로 행동할 수도 있다. 플랫폼을 만든 천재가 깨달음을 찾아 방황할 수도 있다. 이렇게 로우 코드 도구의 안정성을 해치는 사건, 사고, 문제가 발생할 수 있다. 다른 조직을 믿어야 한다. 유일한 지렛대는 매년 계약 갱신 프로세스 밖에 없을 수 있다.

◆ 장점 : 역량을 부여
좋은 로우 코드 플랫폼은 IT 부서를 돕는 것은 물론, 비즈니스 부서 직원들의 창의력을 발산시키는 역할을 한다. 이들은 끝없이 스펙 문서만 되풀이해 만들면서 예산을 요청하는 대신, 자신의 아이디어를 실험할 시간을 투자할 수 있다.

◇ 단점 : 한계
현대 로우 코드는 놀랄만한 기능을 갖고 있지만, 개발자가 아닌 사람을 경력이 많은 개발자로 바꿔 놓지는 못한다. 사용자는 컴퓨터 작동 방식에 대한 기본적인 느낌, 개념을 갖고 있어야 한다. 예를 들어, 스프레드에 정통한 사람들은 이런 도구 사용에 큰 문제가 없겠지만, 워드 프로세서 여백 조정에도 겁을 내는 사람들이 갑자기 3개의 앱을 마법같이 만들어 낼 수 없는 법이다. 이런 도구들은 많은 귀찮은 작업들을 처리해주지만, 컴퓨터 연산과 현재 컴퓨팅 환경의 기본적인 한계들을 벗어날 수는 없다.

◆ 장점 : 일관성
일정한 수준의 표준 솔루션이 발전하면 세상이 더 잘 돌아간다. 모든 자동차가 석유를 사용하고, 브레이크 페달 위치는 거의 같다. 로우 코드 솔루션으로 애플리케이션을 만들 때의 이점은 널리 사용되는 사용자 인터페이스 위젯들을 기반으로 빌드를 하게 될 것이라는 점이다. 코드가 다른 사람과 동일한 도구를 사용할 것이기 때문에 시도하지 않아도 코드가 표준에 아주 가까워진다.

◇ 단점 : 동질성
경쟁자와 동일한 방식으로 모든 것을 처리하면 인재 유치가 더 손쉬워질 수 있지만, ‘차별성’을 잃어버리는 문제가 발생할 수 있다. 일부 소프트웨어 패키지는 관심을 끌고, 소속 기업을 차별화하는 데 목적이 있다. 모두가 같은 방식으로 접근하면 ‘차별성’이 사라진다.

◆ 장점 : 안전성
로우 코드 플랫폼은 안전과 데이터 프라이버시 등 대부분이 공통으로 직면하는 도전과제들을 처리할 수 있도록 만들어져 있다. 유럽에서 새로운 법이 제정되거나, 아시아 회사에 보안 사고가 발생했다고 가정하자, 아마 로우 코드 개발사가 이런 문제들을 이미 해결했을 것이다. 이는 공동 프레임워크를 이용했을 때의 큰 장점 중 하나이다. 공통된 도전과제들을 다루기 때문에, 이에 대해 걱정할 필요가 없다.

◇ 단점 : 사회화된 비용
로우 코드 플랫폼은 공유 리소스이고, 따라서 이에 따른 단점이 존재한다. 플랫폼 개발자는 의료 기록 등에는 엄격한 프라이버시 보호책이 발동되도록 도구를 엔지니어링했을 수 있으며, 이는 때론 ‘제한 사항’으로 동작한다. 여기에 대해 대가를 지불해야 할 것이다. 제한 사항들이 방해가 될 때마다 머리를 쥐어뜯을 수도 있다.

◆ 장점 : 단순성
로우 코드 도구는 단순성을 추구한다. 로우 코드 플랫폼 개발자는 쉽게 도입되고 확대되는 도구들을 만드는 최상의 방법들을 고민했을 것이다. 이것이 자신이 해야 할 일이기 때문이다. 벤더의 홍보를 덜컥 믿다가 큰코다칠 수도 있지만 프로그래밍 관련 책을 꺼내 처음부터 시작하는 것보다는 간단하고 단순할 것이다.

◇ 단점 : 혼동
로우 코드가 오히려 더 많은 혼동과 혼란을 초래할 수 있을까? 이에 대한 대답은 ‘그렇다’이다. 도구의 한계를 넘어서려 할 때, 사소한 결함과 버그, 불일치에 직면할 때 혼동과 혼란이 초래되는 경우가 많다. 

자연스러운 일이다. 모든 소프트웨어가 이런 문제들을 갖고 있다. 그러나 차이점이 있다. 로우 코드 도구들은 이런 문제들을 사용자에게 드러내려 하지 않는다. 엔진 부분의 후드가 용접으로 고정된 자동차를 생각하면 된다.  데이터 구조와 알고리즘이 불투명하다. 갑자기 뭔가 작동을 하지 않는다. 이를 해결하는 유일한 방법은 데이터 구조를 상세히 조사하는 것인데, 이때부터 혼동과 혼란이 초래된다. 그러면서 때때로 처음부터 직접 노력해 구현할 때보다 더 많은 것을 잃게 된다.

◆ 장점 : 상호운영성
로우 코드의 핵심은 ‘하나의 철학’이다. 일부 회사들은 경험과 안정성에 기여할 수 있는 신뢰할 수 있는 파트너들로 구성된 네트워크를 발전시키는 것을 장려한다. 회사는 혼자가 아니며, 네트워크의 일부로 번창해야 한다고 믿는다. 로우 코드 도구 키트는 이런 신뢰 네트워크를 확대해준다.

◇ 단점 : 종속성
반대 방식은 내부에서 전문성을 개발하는 것이다. 이런 깊이 있는 지식은 결국 기업의 자산이 되기도 한다. 전담 팀이 공을 들여 잘 만든 코드를 이용해야 장기간 가치가 있는 것을 구현할 수 있다. CIO가 유능한 인재들로 팀을 구성하는 이유가 여기에 있다.

로우 코드 현황
일부 유능한 IT 관리자들은 과업에 따라 각기 다른 선택을 한다. 일반적인 조사, 알파 이전 단계의 프로토타입, 간헐적으로 운영하는 백엔드 프로세스의 경우 로우 코드 도구 세트에 적합할 수 있다. 빨리 무언가를 구현해도, 이것이 실패했을 때 잃는 것이 없기 때문이다.

그러나 이런 코드가 기업의 핵심 워크플로우를 지원하거나, 수익에 직접적으로 영향을 미치는 경우라면, 스프레드시트에 익숙한 인턴 사원을 의지하는 것은 좋지 않다. 신뢰할 수 있는 것을 만들어낼 수 있는 인재에 투자를 해야 한다. 

* Peter Wayner는 오픈소스 소프트웨어, 자율주행 차량, 개인정보 보호 강화, 디지털 트랜잭션, 스테가노그래피(steganography) 등 다양한 주제에 관한 16권 이상의 책을 저술한 저자다. dl-ciokorea@foundryco.com

Peter Wayner

Peter Wayner is a contributing writer to InfoWorld. He has written extensively about programming languages (including Java, JavaScript, SQL, WebAssembly, and experimental languages), databases (SQL and NoSQL), cloud computing, cloud-native computing, artificial intelligence, open-source software, prompt engineering, programming habits (both good and bad), and countless other topics of keen interest to software developers. Peter also has written for mainstream publications including The New York Times and Wired, and he is the author of more than 20 books, mainly on technology. His work on mimic functions, a camouflaging technique for encoding data so that it takes on the statistical characteristics of other information (an example of steganography), was the basis of his book, Disappearing Cryptography. Peter’s book Free for All covered the cultural, legal, political, and technical roots of the open-source movement. His book Translucent Databases offered practical techniques for scrambling data so that it is inscrutable but still available to make important decisions. This included some of the first homomorphic encryption. In his book Digital Cash, Peter illustrates how techniques like a blockchain can be used establish an efficient digital economy. And in Policing Online Games, Peter lays out the philosophical and mathematical foundations for building a strong, safe, and cheater-free virtual world.

이 저자의 추가 콘텐츠