- 노코드와 로우코드는 정말 편한 것일까? -- ‘프로그래밍 불필요'라는 환상
-
- 카테고리사물인터넷/ ICT/ 제조·4.0
- 기사일자 2022.12.2
- 신문사 Nikkei X-TECH
- 게재면 online
- 작성자hjtic
- 날짜2022-12-14 20:15:23
- 조회수318
Nikkei X-TECH_2022.12.2
노코드와 로우코드는 정말 편한 것일까?
‘프로그래밍 불필요'라는 환상
기업의 디지털 트랜스포메이션(DX)에서 여전히 '노코드'와 '로우코드'가 큰 인기를 끌고 있다. 전혀 코드를 쓰지 않고 개발할 수 있는 것이 노코드, 소량의 코드로 개발할 수 있는 것이 로우코드이다. 프로그래밍에 비해 학습 코스트가 낮고 아이디어를 바로 형태로 만들 수 있다는 장점이 있다.
DX에서 자주 거론되는 서비스나 툴로는 사이보우즈(Cybozu)의 ‘킨톤(Kintone)’, 마이크로소프트의 ‘파워앱스(Power Apps)’가 있다. 이 외에도 미국 세일즈포스의 ‘라이트닝 플랫폼(Lightning Platform)’, 미국 아웃시스템즈(OutSystems) 및 우루과이의 제넥서스(GeneXus) 제품 등도 사용되고 있다.
킨톤하면 항상 생각나는 것이 2008년에 개발이 중단된 '투이가(Tuigwaa)라고 하는 오픈소스 소프트웨어이다. 정보처리추진기구(IPA)의 '미답(未踏) 소프트웨어 창조사업'에 채택되어 2005년부터 2006년에 걸쳐 개발되었다. 투이가를 사용하면 웹브라우저를 통한 조작만으로도 코드리스로 웹 앱을 작성할 수 있다. 핵심은 킨톤과 같은 컨셉이다.
투이가와 킨톤의 가장 큰 차이점은 제공 형태이다. 투이가는 서버에 설치하는 소프트웨어인 반면, 킨톤은 PaaS(Platform as a Service)로서 제공된다. 이용을 시작할 때의 장벽은 PaaS가 훨씬 낮다. 투이가의 개발이 멈춘 이유는 Paas보다 높은 장벽으로 인한 보급 둔화만은 아니겠지만, 이 점이 양측의 명암을 크게 갈랐다고 해도 좋을 것이다.
필자가 투이가를 처음 접했을 때 '기업이 이 소프트웨어를 도입하면 프로그래밍을 모르는 사람도 업무를 개선할 수 있지 않을까'라는 생각이 들었다. 이것이 바로 노코드와 로우코드의 장점이다. 투이가가 시대를 너무 앞서간 것일지도 모른다.
-- 소규모 업무 개선 및 프로토타입 작성에 적합 --
노코드와 로우코드는 DX 이외의 분야에서도 주목받고 있다. 크리에이티브 분야에서는 스프레드시트를 로딩하는 것만으로 웹 앱을 작성할 수 있는 ‘글라이드(Glide)’나 스마트폰 앱을 노코드로 개발할 수 있는 ‘아달로(Adalo)’라는 툴이 유명하다. 다른 사람과 노코드나 로우코드에 대한 이야기를 할 때, 전제로 하고 있는 툴이 ‘킨톤 및 파워앱스’인지 '글라이드 및 아달로'인지에 따라 이야기가 달라질 가능성이 있기 때문에 주의하는 것이 좋다.
게임 개발 분야에도 다양한 툴이 있다. 게임 개발 환경으로 유명한 '유니티(Unity)'는 간단한 게임의 경우, 최소한의 코드로 만들 수 있어 로우코드 툴이라고 할 수 있다. 또한 유니티는 드래그 앤 드롭(Drag-and-drop)으로 게임 프로그램을 개발할 수 있는 '비주얼 스크립팅(Visual Scripting)'이라고 하는 노코드 기능도 갖추고 있다. 이 밖에도 게임 개발에 특화된 빌드박스(Buildbox)라고 하는 노코드 툴도 유명하다.
인공지능(AI) 분야에서도 몇 가지 노코드 툴과 서비스가 있다. 유저가 부품의 드래그 앤 드롭이나 적용 분야를 선택하면 기계학습 모델이 자동으로 생성되는 것들이다.
물론 노코드나 로우코드에는 장점뿐만 아니라 단점도 있다. 예를 들어, 툴 간에 호환성이 없는 경우가 많기 때문에 일단 어떤 툴을 사용하기 시작하면 다른 툴로 전환하기가 어렵다. 이른바 벤더 록인(Vendor lock-in) 문제이다. 또한 앱 개발의 자유도가 낮다. 미리 준비된 기능을 조합해 개발하는 방식의 툴이 많기 때문이다.
누구나 간편하게 앱을 개발할 수 있다는 장점을 얻는 대신 기업측의 운용에 있어 이를 위한 장치가 요구된다. 예를 들어, 현장에서의 앱 개발을 무작정 허용할 경우, 부서마다 다른 앱들이 난립해 파악할 수 없게 되는 '쉐도우 IT(Shadow IT)' 문제가 발생한다.
이로 인해 정보 유출 등 중대 사고가 발생할 위험성이 있다. 또한 담당자가 문서를 남기지 않은 채 인사 이동을 하게 될 경우 아무도 앱을 관리할 수 없게 되는 속인성의 문제도 있다.
예전에 필자가 노코드 AI 툴 개발 벤더를 취재하고 있을 때의 일이다. 한 도입 사례에 대해 확인했더니 "초기에는 노코드 AI 툴을 도입했지만 현재는 일반 AI 개발로 전환하고 있다"라고 답했다. 이 벤더는 툴 제공과 함께 AI 컨설팅 및 개발도 추진하고 있었다.
결국, 이것이 노코드나 로우코드의 스마트한 사용법일 것이다 소규모 업무의 효율화나 프로토타입 작성에만 노코드나 로우코드를 이용하고, 규모를 확대할 필요성이 생기면 '코드'를 이용한 통상적인 시스템 개발로 전환하는 것이다. 실제로 이러한 방침으로 운용하고 있는 기업들도 많다.
-- 능숙하게 사용하고 싶으면 프로그래밍에 대한 이해는 필수 --
필자는 노코드나 로우코드를 부정할 생각이 없다. 적재적소에 이용하면 위력을 발휘할 수 있다고 생각한다.
하지만, 노코드나 로우코드가 기업들 사이에서 인기를 끌고 있는 현재의 시류에 대해서는 모종의 위화감을 느끼고 있는 것도 사실이다. '코드를 사용할 필요가 없다'라는 점이 강조되는 것이 부자연스럽게 느껴진다.
프로그래밍의 본질은 컴퓨터와의 커뮤니케이션이라는 것은 본 칼럼에서 여러 차례 이야기해왔다. 프로그래밍은 말하자면 컴퓨터가 이해할 수 있는 언어를 입력하거나 이야기하는 행위이다. 그렇다는 것은 노코드나 로우코드는 말 없이, 혹은 최대한 적은 말로 컴퓨터와 커뮤니케이션하는 것이다.
세상에는 말로 전달하기 어려운 것과 말로 전달하기 쉬운 것이 있다. 예를 들어, 말로 장황하게 설명하는 것보다 한 장의 사진이나 일러스트가 더 알기 쉬울 수 있다.
반면, 말 한마디로 전달할 수 있는 것이라도 몸짓이나 손짓으로만 전달하려고 하면 어렵다. 필자가 노코드나 로우코드에 갖는 위화감은 이것에 가깝다. 코드라면 바로 작성할 수 있는데 GUI(Graphical User Interface) 조작은 오히려 복잡해 귀찮다고 느낄 때가 있다. 말하자면 문장으로 쉽게 전달되는 것을 손짓만으로 전달하려는 것처럼 느껴지는 것이다.
필자는 노코드나 로우코드를 잘 사용하고 싶다면 프로그래밍에 대한 지식은 필수라고 생각한다. 왜냐하면 '코드를 사용하지 않고 툴에 맡기는 것이 효율적인 케이스'는 코드를 작성할 수 있는 사람밖에는 판단할 수 없기 때문이다.
그렇다고 코드를 엄청나게 잘 작성하는 능력이 필요한 것은 아니다. 프로그래밍이란 어떤 것인지, 코드로 실현할 수 있는 것은 무엇인지에 대해 이해하고 있으면 된다. 그러면 ‘노코드나 로우코드를 도입함으로써 프로그래밍의 수고를 줄일 수 있는 포인트’를 알 수 있게 된다.
프로그래밍에 대한 지식이 없으면 무작정 노코드나 로우코드를 도입하게 된다. 그 결과, 프로그래밍을 통해 간단히 만들 수 있는 시스템임에도 불구하고 노코드나 로우코드로 복잡하게 개발하게 된다.
노코드나 로우코드를 높이 평가하는 사람들은 왜 프로그래밍을 피하려고 할까? 그 밑바탕에 깔려 있는 것은 프로그래밍에 대한 불건전한 두려움인 것 같다. 두려워하는 이유는 결국 프로그래밍이 무엇인지 모르기 때문일 것이다.
프로그래밍을 모르는 사람들은 프로그래밍을 ‘훌륭한 것’이라고 치켜세우거나 '하찮은 것'이라고 조롱하거나 둘 중 하나에 치우치기 쉽다. 제로 프로그래밍은 일반적인 기능으로, 양쪽 태도 모두 너무 극단적이라고 할 수 있다. 앞으로 많은 사람들이 프로그래밍을 일반 교양의 하나로 몸에 익히는 사회가 되었으면 좋겠다.
-- 끝 --
Copyright © 2020 [Nikkei XTECH] / Nikkei Business Publications, Inc. All rights reserved.