MS 수석 소프트웨어 엔지니어인 Nick Scialli가 로우코드에 회의적인 이유

로우코드의 혁신과 한계

우리는 기술의 눈부신 발전을 목격하고 있습니다. 특히, 소프트웨어 개발 분야에서는 ‘로우코드‘라는 새로운 혁신이 등장했죠. 로우코드는 프로그래밍 경험이 적은 사람들도 손쉽게 애플리케이션을 개발할 수 있게 해주는 기술로, 빠른 개발 시간과 낮은 유지 보수 비용을 약속합니다. 하지만, Microsoft의 수석 소프트웨어 엔지니어인 Nick Scialli는 이에 대해 회의적인 시각을 가지고 있다고 합니다.

Nick Scialli는 소프트웨어 컨설팅을 진행하며, 많은 클라이언트들이 로우코드의 매력에 이끌려 프로젝트를 시작하곤 하지만, 이들 중 상당수는 결국 만족할 만한 결과를 얻지 못한다고 합니다. 오늘은 로우코드에 대한 그의 회의적인 시각과 함께 로우코드가 가진 장점과 한계점을 알아보겠습니다.

맞춤형 기능의 한계와 로우코드의 실제

로우코드는 기업의 요구 사항을 크게 충족시키는 유망한 기술로 자리 잡았습니다. 하지만 완벽하지는 않습니다. 로우코드 솔루션은 대체로 기업의 요구 사항 중 약 80%를 충족시킬 수 있지만, 문제는 나머지 20%에 있다고 합니다. 이 나머지 20%는 로우코드 플랫폼의 기본 기능만으로는 해결하기 어려운 부분인 것이죠.

물론 많은 로우코드 도구 마케터들은 이 나머지 20%의 요구사항도 쉽게 해결할 수 있다고 주장합니다. 하지만 현실은 그리 단순하지 않죠. 실제로, 이 부분에 대한 맞춤화는 상당한 노력과 기술적인 전문성을 필요로 합니다. 게다가 때로는 이러한 맞춤화가 실질적으로 불가능한 경우도 있습니다. 이는 기업들이 로우코드 도구를 선택할 때 중요한 고려사항으로, 기업들은 로우코드 도구의 기본 기능이 자신들의 요구에 충분히 부합하는지, 아니면 추가적인 개발 노력을 통해 정확한 사용 사례에 맞추려고 시도할 것인지를 결정해야 합니다.

그리고 이런 상황에서 중요한 것은, 로우코드 솔루션이 모든 문제의 해결책이 될 수는 없다는 것을 인식하는 것입니다. 로우코드 플랫폼은 많은 장점을 가지고 있지만, 그 한계 또한 명확히 인지해야 하는 것이죠. 이는 소프트웨어 개발 프로젝트의 성공적인 결과를 위해 필수적으로 고려해야 할 사항입니다.

unsplash

개발자 풀의 제한과 로우코드 도구의 복잡성

로우코드 플랫폼의 한계를 극복하기 위해, 일부 기업들은 이들 도구를 ‘해킹’하여 자신들의 100% 요구사항을 충족시키려는 시도를 합니다. 이 과정에서 기업들은 특정 로우코드 도구나 그 독점 언어에 대한 많은 맞춤 코드를 작성하게 되는데, 이는 중대한 문제를 야기합니다.

우선, 이런 맞춤 코드는 이해할 수 있는 개발자가 매우 적다는 것을 의미하는데, 결과적으로 회사는 널리 사용되는 오픈 소스 언어로 개발할 수 있는 개발자 풀에서 개발자를 모집하는 대신, 특정 로우코드 도구에 매우 전문화된 유지 관리자를 찾아야 하는 것이죠. 이는 인력 채용과 유지 관리 측면에서 큰 어려움을 초래할 수 있습니다.

또한 기업이 로우코드 도구에 많은 맞춤 코드를 투자할수록, 이 도구에 대한 의존도는 더욱 증가합니다. 이는 기업이 해당 도구에 대한 전문 지식을 가진 개발자들을 확보해야 한다는 압박을 높이게 되고, 이들 개발자의 부재는 프로젝트의 지속 가능성을 위협할 수 있습니다.

이러한 상황은 기업에 있어 로우코드 도구의 선택과 사용에 있어 신중함을 요구합니다. 때문에 기업은 도구의 한계를 명확히 이해하고, 필요한 경우 전통적인 개발 방식과의 균형을 찾아야 합니다. 즉, 로우코드의 장점을 활용하면서도, 장기적인 유지 관리와 개발자 풀의 다양성을 고려하는 것이 중요합니다.

unsplash

플랫폼 업그레이드와 로우코드의 호환성 문제

소프트웨어 생태계에서 플랫폼의 업그레이드는 불가피한 과정입니다. 하지만, 이런 업그레이드 과정에서 기존에 연동되어 작동하던 시스템들이 제대로 동작하지 않는 문제가 자주 발생합니다. 그런데 로우코드 플랫폼의 경우, 이런 문제가 더욱 복잡해집니다.

로우코드 도구들은 종종 로우코드가 처음 설계되지 않은 사용 사례를 위해 임의의 코드를 처리해야 합니다. 이를 위해서는 엄격한 API 계약을 통해 시스템 간의 호환성을 보장해야 하지만, 실제로는 맞춤 코드가 내부적으로 온갖 문제를 일으키는 것을 자주 목격하게 됩니다.

이러한 상황은 특히 업그레이드 시에 큰 도전이 될 수 있습니다. 기존의 맞춤 코드나 통합이 새로운 플랫폼 버전과 호환되지 않을 수 있기 때문이죠. 이는 기업에게 추가적인 유지 관리 비용과 복잡성을 초래하며, 때로는 전체 시스템의 안정성을 위협할 수도 있습니다.

때문에 로우코드 솔루션을 선택할 때는 이러한 호환성 문제를 고려하는 것이 중요합니다. 기업은 자신들의 시스템이 미래의 업그레이드와 어떻게 상호작용할지를 예측하고, 이에 대비한 계획을 수립해야 합니다. 로우코드의 장점을 최대한 활용하면서도, 장기적인 시스템 유지 관리의 안정성과 지속 가능성을 고려하는 전략이 필요합니다.

unsplash

데이터베이스 구조와 로우코드의 복잡성

로우코드 도구를 활용할 때, 많은 기업들이 직면하는 문제는 또 있습니다. 바로 데이터베이스의 구조와 관련된 문제입니다. 특히, 정밀한 분석이 필수적인 프로세스에서 로우코드 도구를 사용할 때, 데이터 모델의 복잡성과 혼란이 두드러진다고 합니다.

기본적으로 로우코드 플랫폼들은 사용자 친화적인 인터페이스와 간단한 개발 과정을 제공하지만, 이들 시스템의 데이터 모델을 자세히 살펴보면 혼란스러운 구조를 발견할 수 있습니다. 예를 들어, 데이터베이스의 필드명이 user_attribute_47이라면, 이와 같은 필드가 무엇을 의미하는지 이해하기 어렵습니다. 또한, 애플리케이션의 한 페이지에서 다른 페이지로 필드를 이동할 때, 데이터가 별도의 필드에 저장되는 등의 문제도 발생할 수 있습니다.

이러한 혼란은 데이터 관리 및 분석의 복잡성을 증가시키며, 결국 기업의 의사결정 과정에 부정적인 영향을 미칠 수 있습니다. 즉, 로우코드 솔루션을 사용할 때는 데이터 모델의 구조와 관리 방법을 명확히 이해하는 것이 필수적인 것이죠. 특히, 복잡한 데이터가 관련된 비즈니스 프로세스에서는 로우코드 도구의 한계를 인식하고, 필요한 경우 전통적인 개발 방식을 병행하는 것이 바람직합니다.

이러한 측면에서, 로우코드 도구를 선택하기 전에 데이터 관리 및 구조에 대한 충분한 평가가 필요합니다. 이는 장기적인 관점에서 데이터의 일관성과 정확성을 보장하는 데 중요한 역할을 합니다.

unsplash

마치며

로우코드 플랫폼은 분명 현대 기술 환경에서 큰 잠재력을 가진 도구입니다. 그러나, Nick Scialli의 의견처럼, 로우코드는 개발 속도와 유지 보수 비용을 줄일 수 있는 유망한 솔루션임에도 실제 사용 시에는 예상치 못한 문제들이 발생할 수 있습니다.

특히, 맞춤형 기능이 필요한 경우나 특정 로우코드 도구에 의존하는 개발 언어의 사용은 개발자 풀을 제한하고, 유지 보수를 어렵게 만듭니다. 또한 로우코드 도구의 업그레이드와 데이터베이스 구조의 복잡성은 장기적인 프로젝트 관리에 있어 중요한 고려 사항이 되어야 합니다.

unsplash

로우코드는 강력한 툴이지만, 그 사용은 특정 상황과 요구 사항에 맞춰 조심스럽게 이루어져야 합니다. 결국, 기술 선택은 단순히 트렌드를 따르는 것이 아니라, 각 프로젝트의 고유한 요구 사항을 충족시키는 데 있어 가장 효과적인 도구를 선택하는 것이기 때문이죠.

이러한 관점에서, 로우코드 플랫폼은 특정 상황에서는 매우 유용할 수 있지만, 그 한계를 인지하고 신중하게 접근하는 것이 중요합니다. 기업들은 로우코드를 활용하기 전에, 해당 도구가 자신들의 비즈니스 요구와 장기적인 목표에 부합하는지 면밀히 평가해야 합니다.

Nick Scialli의 관점을 통해 볼 때, 로우코드는 강력하지만 주의 깊게 접근해야 하는 도구입니다. 때문에 우리는 기술을 선택하고 사용하는 방식에 대해 신중하게 생각할 필요가 있습니다.

Nick Scialli, “Why I’m skeptical of low-code”

답글 남기기