2019.10.01

글로벌 칼럼 | 로우코드가 지향해야 하는 "품질과 속도의 균형"

Malcolm Ross | InfoWorld
개발자들의 부담감은 역대 최고 수준에 달해 있다. 오늘날 24시간 항시 열려 있는 시장 환경으로 인해 늘어나는 수요를 감당하려면 기업은 새로운 기능과 애플리케이션을 거의 하룻밤 만에 내놓을 수 있는 기민함을 갖춰야 한다. 
 
ⓒ Getty Images Bank 

여기에 보조를 맞추려면 개발 팀은 개발 속도를 높이고 코드를 최대한 빨리 작성해야 하는 부담이 있다. 이와 동시에, 고객들의 기대치가 높아지면서 적시에 적절한 기기로 전달될 수 있는 훌륭한 사용자 경험을 창출해야 할 부담도 더해지고 있다. 

문제는 앱 개발 속도를 빠르게 하면서 동시에 오류없는 소프트웨어를 만들어낸다는 것이 어렵다는 점이다. 2가지 작업을 벤 다이어그램으로 그린다면 서로 겹쳐지는 부분은 거의 눈에 띄지 않을 것이다. 강력하고 탄탄한 소프트웨어를 빨리 개발하는 일은 그만큼 어렵다.

품질과 속도의 균형을 이루지 못하면 감당할 수 없는 양의 기술 부채(technical debt)가 업무 애플리케이션 내부에 쌓이게 된다. 기술 부채란 새로운 소프트웨어 작업에 투자할 때 감수하는 위험이다. 계속되는 업데이트, 패치 적용, 보안 기능 수정, 기타 유지보수 관련 활동을 통해 기술 부채를 상환해 나간다.

기술 부채는 많은 부분이 계획과 자원 조달에 들어가 있지만 통제 불가 상태가 되는 경우도 있다. 코드를 최대한 빨리 생산하라는 압력이 더해질 때 특히 그렇다.


로우코드의 어제와 오늘

로우코드(low-code) 개발 도구들은 신속한 애플리케이션 생산을 가능하게 해 주는 만병통치약이라고 홍보한다. 그런데 이런 말은 예전에도 들은 적이 있다. 과거에는 코딩 경험이 적거나 전무한 사람들도 마이크로소프트 액세스 또는 파워빌더와 같은 도구들로 소프트웨어 솔루션을 신속하게 구축할 수 있었는데 선견지명이나 계획은 거의 없는 경우가 많았다. 

결국 이런 로우코드 도구들은 개발 과정을 단순화하기는 커녕, 오히려 계속되는 유지보수, 보안, 확장성 문제를 일으켜 감당할 수 없는 기술 부채만 늘리고 말았다. 이렇게 날림으로 만들어진 앱들의 유지 관리는 다름 아닌 개발 팀의 몫이다.

그러나, 최신 로우코드 플랫폼들은 긴 역사를 거쳐 전형적인 시각적 설계 양식을 이용해 단순화하고 소프트웨어 혁신 속도를 높이는 방식으로 진화했다. 신속한 코드 작성도 가치가 있지만 모든 소프트웨어 솔루션은 적절한 소프트웨어 개발 생명주기를 따라야 한다는 사실을 로우코드 플랫폼들은 인식하고 있다. 이러한 인식의 변화는 기술 부채를 완화하고 지속적인 가치를 제공하는 방향으로 나아가는 데 크게 도움이 된다.


로우코드와 기업 개발

로우코드 소프트웨어 개발을 시행하는 것은 도구를 구해 개발자들이 미친 듯이 일하게 하는 것으로 끝나는 간단한 문제가 아니다. 로우코드 플랫폼은 기획, 테스트, 지속적인 유지보수에서부터 실제 코딩 과정에 이르기까지 기업 개발에 필요한 것을 지원해야 하며, 기존의 소프트웨어 개발 생명주기 프로세스들과 통합돼야 한다. 로우코드 플랫폼을 이용해 기능이나 새 앱을 구축해야 하는지 결정하는 단계도 추가된다.

이처럼 로우코드가 기업 도구로 진화되고 있음에도 불구하고 대부분의 기업은 업무에 필수적인 앱이나 고객 대면 앱에는 전통적인 개발 도구를 계속해서 사용해야 한다. 그러나 모든 앱이나 기능을 처음부터 구축할 필요는 없다. 

기업들은 로우코드의 용도를 소규모 내부 프로세스를 대상으로, 또는 예전에는 수동으로 했던 작업을 자동화하는 것에 한정할 수 있다. 그러면 로우코드 플랫폼은 디지털 변신 프로젝트를 실행하기에 매우 좋은 도구가 된다.    

이런 도구는 목적이 개발 속도 증진이기 때문에, 테스트를 거쳐 사용자에게 제공할 코드를 빠르게 생산하는 데 도움이 되어야 한다. 기술 부채를 늘리고 일정을 지연시키기만 할 비효율적인 프로세스나 엉성한 코드에 낭비할 시간이 없다. 로우코드 개발 플랫폼은 개발자들이 강력하고 탄탄한 앱을 신속하게 구축할 수 있는 도구들을 제공해야 한다. 여기에는 사전 작성되고 충분히 조사를 거쳤으며 소스 파일에 붙여넣기 할 수 있는 코드 조각들이 포함된다.


로우코드와 기술 부채

로우코드 개발 플랫폼이 개발 속도를 높여주는 또 다른 이유는 새로운 소프트웨어와 일반적으로 관련된 기술 부채의 많은 부분을 없애주기 때문이다. 

따라서 적절한 로우코드 개발 플랫폼을 선택하는 것이 관건이다. 업체가 통제하고 전체적으로 관리되는 클라우드 환경인 로우코드 플랫폼을 선택할 경우에는 플랫폼 내부에 유지보수 기능이 포함되어 있으므로 개발자나 보안 팀은 업그레이드나 패치에 대해 걱정할 필요가 없다. 해당 플랫폼은 iOS, 안드로이드, 크롬 등과 같은 다른 플랫폼과 운영체제의 향후 버전을 지원하고 상위 호환돼야 한다. 

또한, 해당 로우코드 업체는 처음부터 통합과 지원 문제를 염두에 두고 소프트웨어가 개발되도록 보장함으로써 클라이언트 업데이트와 향후 플랫폼 지원이 쉬워지도록 개발자들을 도와줘야 한다. 개발자들은 해당 플랫폼 상에서 구축된 애플리케이션이 최신 기준에 맞게 업데이트되고 있다는 것을 ‘그냥 알아야’ 한다.  

애플리케이션 개발 속도를 높여야 하는 부담이 존재하는 가운데, 최신 로우코드 개발 플랫폼은 적절한 소프트웨어 개발 생명주기를 따르기 위해 필요한 프레임워크를 제공할 수 있다. 

기업들은 이런 플랫폼을 사용해 속도를 높일 수 있고 강력하고 탄탄한 앱을 개발할 수 있으며 늘어나는 기대치를 충족할 수 있다. 열심히 일하는 개발 팀의 부담을 이제는 좀 덜어줘야 할 때다. editor@itworld.co.kr  


2019.10.01

글로벌 칼럼 | 로우코드가 지향해야 하는 "품질과 속도의 균형"

Malcolm Ross | InfoWorld
개발자들의 부담감은 역대 최고 수준에 달해 있다. 오늘날 24시간 항시 열려 있는 시장 환경으로 인해 늘어나는 수요를 감당하려면 기업은 새로운 기능과 애플리케이션을 거의 하룻밤 만에 내놓을 수 있는 기민함을 갖춰야 한다. 
 
ⓒ Getty Images Bank 

여기에 보조를 맞추려면 개발 팀은 개발 속도를 높이고 코드를 최대한 빨리 작성해야 하는 부담이 있다. 이와 동시에, 고객들의 기대치가 높아지면서 적시에 적절한 기기로 전달될 수 있는 훌륭한 사용자 경험을 창출해야 할 부담도 더해지고 있다. 

문제는 앱 개발 속도를 빠르게 하면서 동시에 오류없는 소프트웨어를 만들어낸다는 것이 어렵다는 점이다. 2가지 작업을 벤 다이어그램으로 그린다면 서로 겹쳐지는 부분은 거의 눈에 띄지 않을 것이다. 강력하고 탄탄한 소프트웨어를 빨리 개발하는 일은 그만큼 어렵다.

품질과 속도의 균형을 이루지 못하면 감당할 수 없는 양의 기술 부채(technical debt)가 업무 애플리케이션 내부에 쌓이게 된다. 기술 부채란 새로운 소프트웨어 작업에 투자할 때 감수하는 위험이다. 계속되는 업데이트, 패치 적용, 보안 기능 수정, 기타 유지보수 관련 활동을 통해 기술 부채를 상환해 나간다.

기술 부채는 많은 부분이 계획과 자원 조달에 들어가 있지만 통제 불가 상태가 되는 경우도 있다. 코드를 최대한 빨리 생산하라는 압력이 더해질 때 특히 그렇다.


로우코드의 어제와 오늘

로우코드(low-code) 개발 도구들은 신속한 애플리케이션 생산을 가능하게 해 주는 만병통치약이라고 홍보한다. 그런데 이런 말은 예전에도 들은 적이 있다. 과거에는 코딩 경험이 적거나 전무한 사람들도 마이크로소프트 액세스 또는 파워빌더와 같은 도구들로 소프트웨어 솔루션을 신속하게 구축할 수 있었는데 선견지명이나 계획은 거의 없는 경우가 많았다. 

결국 이런 로우코드 도구들은 개발 과정을 단순화하기는 커녕, 오히려 계속되는 유지보수, 보안, 확장성 문제를 일으켜 감당할 수 없는 기술 부채만 늘리고 말았다. 이렇게 날림으로 만들어진 앱들의 유지 관리는 다름 아닌 개발 팀의 몫이다.

그러나, 최신 로우코드 플랫폼들은 긴 역사를 거쳐 전형적인 시각적 설계 양식을 이용해 단순화하고 소프트웨어 혁신 속도를 높이는 방식으로 진화했다. 신속한 코드 작성도 가치가 있지만 모든 소프트웨어 솔루션은 적절한 소프트웨어 개발 생명주기를 따라야 한다는 사실을 로우코드 플랫폼들은 인식하고 있다. 이러한 인식의 변화는 기술 부채를 완화하고 지속적인 가치를 제공하는 방향으로 나아가는 데 크게 도움이 된다.


로우코드와 기업 개발

로우코드 소프트웨어 개발을 시행하는 것은 도구를 구해 개발자들이 미친 듯이 일하게 하는 것으로 끝나는 간단한 문제가 아니다. 로우코드 플랫폼은 기획, 테스트, 지속적인 유지보수에서부터 실제 코딩 과정에 이르기까지 기업 개발에 필요한 것을 지원해야 하며, 기존의 소프트웨어 개발 생명주기 프로세스들과 통합돼야 한다. 로우코드 플랫폼을 이용해 기능이나 새 앱을 구축해야 하는지 결정하는 단계도 추가된다.

이처럼 로우코드가 기업 도구로 진화되고 있음에도 불구하고 대부분의 기업은 업무에 필수적인 앱이나 고객 대면 앱에는 전통적인 개발 도구를 계속해서 사용해야 한다. 그러나 모든 앱이나 기능을 처음부터 구축할 필요는 없다. 

기업들은 로우코드의 용도를 소규모 내부 프로세스를 대상으로, 또는 예전에는 수동으로 했던 작업을 자동화하는 것에 한정할 수 있다. 그러면 로우코드 플랫폼은 디지털 변신 프로젝트를 실행하기에 매우 좋은 도구가 된다.    

이런 도구는 목적이 개발 속도 증진이기 때문에, 테스트를 거쳐 사용자에게 제공할 코드를 빠르게 생산하는 데 도움이 되어야 한다. 기술 부채를 늘리고 일정을 지연시키기만 할 비효율적인 프로세스나 엉성한 코드에 낭비할 시간이 없다. 로우코드 개발 플랫폼은 개발자들이 강력하고 탄탄한 앱을 신속하게 구축할 수 있는 도구들을 제공해야 한다. 여기에는 사전 작성되고 충분히 조사를 거쳤으며 소스 파일에 붙여넣기 할 수 있는 코드 조각들이 포함된다.


로우코드와 기술 부채

로우코드 개발 플랫폼이 개발 속도를 높여주는 또 다른 이유는 새로운 소프트웨어와 일반적으로 관련된 기술 부채의 많은 부분을 없애주기 때문이다. 

따라서 적절한 로우코드 개발 플랫폼을 선택하는 것이 관건이다. 업체가 통제하고 전체적으로 관리되는 클라우드 환경인 로우코드 플랫폼을 선택할 경우에는 플랫폼 내부에 유지보수 기능이 포함되어 있으므로 개발자나 보안 팀은 업그레이드나 패치에 대해 걱정할 필요가 없다. 해당 플랫폼은 iOS, 안드로이드, 크롬 등과 같은 다른 플랫폼과 운영체제의 향후 버전을 지원하고 상위 호환돼야 한다. 

또한, 해당 로우코드 업체는 처음부터 통합과 지원 문제를 염두에 두고 소프트웨어가 개발되도록 보장함으로써 클라이언트 업데이트와 향후 플랫폼 지원이 쉬워지도록 개발자들을 도와줘야 한다. 개발자들은 해당 플랫폼 상에서 구축된 애플리케이션이 최신 기준에 맞게 업데이트되고 있다는 것을 ‘그냥 알아야’ 한다.  

애플리케이션 개발 속도를 높여야 하는 부담이 존재하는 가운데, 최신 로우코드 개발 플랫폼은 적절한 소프트웨어 개발 생명주기를 따르기 위해 필요한 프레임워크를 제공할 수 있다. 

기업들은 이런 플랫폼을 사용해 속도를 높일 수 있고 강력하고 탄탄한 앱을 개발할 수 있으며 늘어나는 기대치를 충족할 수 있다. 열심히 일하는 개발 팀의 부담을 이제는 좀 덜어줘야 할 때다. editor@itworld.co.kr  


X