안녕하세요.
데브피플에서 프론트엔드 개발을 담당하는 Woody입니다.
최근 개발 수요가 늘어나면서 많은 기업이 개발 인력 충원에 앞장서고 있습니다.
하지만 개발자를 채용하고 바로 개발에 착수하기에 앞서, 우리 사업이 어떤 단계에 있느냐를 먼저 파악하는 것이 중요하다고 생각합니다.
만약 비즈니스 초기 단계이며 MVP 개발이 우선되어야 하는 상황이라면 서비스를 만들 수 있는 노 코드 툴의 도입이 더 나은 선택일 수 있다고 생각합니다.
저희 데브피플 개발팀에서는 서비스 단계 및 규모에 따른 생산성 향상을 위해 코딩 또는 노코드를 선택해 서비스를 개발하고 있습니다.
오늘은 코딩과 노코드 그리고 둘을 비교한 장단점에 관해서 설명하겠습니다.
코딩(Coding)이란?
코딩, 프로그래밍은 개발자가 직접 프로그래밍 언어를 사용하여 프로그램에서 작업을 수행하기 위해 코드를 통해 컴퓨터에게 명령해 소프트웨어를 만드는 방식입니다.
코딩하기 위해서는 개발자가 오랜 시간 프로그래밍 언어를 다루는 방법을 훈련하고 이 기술을 활용해 소프트웨어를 만들 수 있습니다.
장점
코딩, 즉 프로그래밍 언어를 통해 소프트웨어 개발의 가장 큰 장점은 서비스의 모든 부분에서 제한 없이 커스터마이징 및 제어가 가능하며, 여러 가지 복잡한 문제를 해결할 수도 있습니다.
예를 들어 어느 위치든 자유롭게 컴포넌트(텍스트, 버튼 등)를 배치하거나, 복잡한 수식 등을 다루는 등의 소프트웨어를 만들 수 있습니다.
이러한 장점 때문에 코딩은 높은 기술적 스킬과 지식이 필요합니다.
사용자 경험 향상을 위한 서비스 개선
서비스의 모든 부분을 개발자가 관리할 수 있기 때문에 UX 부분에서도 자유롭게 개선이 가능합니다.
예를 들어 데이터를 가져오는 동안 사용자가 보게 될 콘텐츠의 윤곽을 먼저 그려주는 로딩 애니메이션인 스켈레톤 UI를 적용함으로써, 단순히 흰색 화면만 보면서 콘텐츠를 기다리는 사용자의 UX를 개선할 수 있습니다.
성능
클라이언트와 서버의 통신을 통해서 사이트에서 보이는 콘텐츠를 미리 캐시라는 임시 저장 위치에 저장하는 캐싱 작업을 통해 서버의 부하를 줄이고, 사용자는 콘텐츠를 더욱 빠르게 볼 수 있는 등의 서비스를 섬세한 성능 개선 작업이 가능합니다.
다만 개발자의 역량에 따라 성능 개선의 차이가 있을 수 있습니다.
단점
학습 장벽 및 트렌드
코딩을 배우는 것은 적지 않은 시간과 비용이 있어야 하는데 프로그래밍 트렌드는 지속적으로 변화하고 있습니다.
코딩에 익숙해지기 위해서는 특정 프로그래밍 언어를 지속적으로 학습하고 연습해야 합니다.
동시에 프로그래밍 언어는 시간이 지남에 있어서 지속적으로 발전하고 개선되기 때문에 더욱 전문성이 필요한 영역이 되고 있습니다.
비용
단순히 MVP의 기능만을 가진 작은 규모의 소프트웨어를 제품을 개발하는 상황에서도 한 명의 개발자가 아닌 프론트엔드, 백엔드 개발자 등 여러 명의 개발자가 필요합니다.
특히 리드 급의 경험이 풍부한 개발자를 채용하는 것은 기업의 입장에서 적지 않은 비용이 발생할 수 있습니다.
시간
하나의 소프트웨어 제품을 만드는 과정에서 코딩을 통한 개발은 시작과 동시에 바로 기능 구현이 아닌, 프로젝트 환경 세팅, 코드 컨벤션(코드 스타일) 통일 등 개발을 시작하기 전부터 다양한 작업의 필요성이 요구되기 때문에 짧은 기간 안에 빠르게 서비스를 구현하는 데 어려움이 있습니다.
같은 이야기로 무리하게 마감을 지키려다 보면 프로젝트가 유지 보수가 힘들 정도로 문제가 생길 수 있습니다.
유지보수
서비스를 만들고 기존 코드의 결함들을 수정하면서 안정화 작업을 반복하다 보면 코드 품질은 점차 하락하게 됩니다.
저하된 코드 품질을 개선하는 유지보수 과정에서 더욱 많은 자원 투자가 요구되고 어느 시점에는 코드의 안정화보다 코드를 통해 기존의 기능을 파악하고 변경 사항에 대한 안정성을 확인하기 위한 비용이 더 많아지게 됩니다.
또한 지속한 품질 하락은, 새로운 개발자가 프로젝트를 이어 갈 때 투입 시간이 길어지게 만드는 주요 원인이 됩니다
노 코드(No code)란?
노코드(No-code)는 코드를 작성하지 않고 소프트웨어를 만들 수 있는 개발 방법입니다.
개발자 혹은 개발자가 아니더라도 웹 또는 앱에서 간단한 드래그 앤 드랍 또는 템플릿을 통해 웹사이트를 최소한의 개발 지식으로 사용할 수 있습니다.
다만, 다양한 기능을 가지는 홈페이지를 만들기 위해서는 추가적인 개발 지식의 필요성이 요구될 수 있지만, 코딩을 통한 개발의 학습 난이도와 비교했을 때 품질 대비 학습 난이도가 매우 낮습니다.
장점과 한계점
속도
노코드 툴의 가장 큰 장점은 무엇보다 빠른 속도로 서비스 개발이 가능하다는 점입니다.
숙련된 개발자라고 해도 직접 코딩하며 개발하는 일은 시간이 걸리기 마련입니다.
노코드 툴을 활용하면, 만들어져 있는 기능과 화면을 드래그 앤드 드롭 하여 사용할 수 있어 매우 빠른 속도로 작업이 가능합니다.
또한 기본적인 예외 처리가 되어있기 때문에 예외 처리 및 QA 기간이 현저히 줄어들었습니다.
저희 데브피플도 규모가 작은 서비스에 노코드 툴을 도입해 개발 시간을 절반 정도 줄일 수 있었습니다.
비용
비용 역시 크게 절감된다는 장점이 있습니다.
개발자를 채용하여 개발하는 방식은 특히 개발 인력의 수요가 매우 높아진 현재, 작은 규모의 기업이 최소 제품 개발을 위해 큰 비용을 투자하는 것은 위험할 수 있습니다.
노코드 툴을 활용하면 더 적은 비용으로 MVP 개발이 가능합니다.
같은 기능을 노코드와 개발자 채용 방식으로 개발한다고 가정하면 개발자 채용 대비 노코드는 유지보수 포함 약 60~70% 정도 저렴한 편입니다.
맞춤형 소프트웨어
노코드 툴을 활용하여 고객의 상황에 맞는 맞춤형 소프트웨어 개발이 가능합니다.
자동화 툴 등 비즈니스에 필요한 소프트웨어를 만들어 줄 수 있습니다.
시장에 이미 제공되고 있는 서비스가 나의 업무방식이나 사업에 맞지 않을 경우, 노코드 툴을 통해서도 원하는 서비스를 사용하실 수 있도록 도와줄 수 있습니다.
유연성과 자율성
노코드 툴을 활용하여 개발된 제품은 지속적인 변경과 업데이트가 가능하며, 노코드 툴의 기능이 부족하다면
다른 노코드 서비스들과 연동해 더욱 확장할 수 있습니다.
저희 데브피플은 다양한 자동화 및 노코드 툴(AirTable, Zapier 등)을 연동해 유연하게 서비스를 개발한 경험이 있습니다.
노코드의 한계점
최근 노코드 툴이 급부상하고 있지만, 아직은 완벽하게 코딩을 통한 소프트웨어 개발을 대체하기는 어려운 상황입니다.
노코드는 복잡한 문제를 푸는 소프트웨어를 만들기는 불가능하며, 제한적인 커스터마이징 문제가 있기 때문에 대부분 비교적 간단하면서 빠르게 해결할 수 있는 문제들을 푸는 데 집중합니다.
예를 들어 랜딩페이지나 커뮤니티 등을 만들 때 많이 사용됩니다.
만약 서비스 규모가 작지 않은 소프트웨어 개발 시 다양한 노코드 플랫폼이 조합될 수 있는데, 이는 프로젝트의 유지보수 난도가 올라가는 상황이 생길 수 있습니다.
독자적인 기능이 추가되거나, 복잡한 로직이 들어가게 될 경우 노코드로 소프트웨어를 개발하는 것은 추천드리지 않습니다.
서비스 규모에 따른 맞춤형 개발
데브피플의 노 코드 프로젝트 예시
지금까지 코딩과 노코드에 관해 설명해 드렸습니다.
이처럼 우리는 상황에 따른 개발 방식의 선택을 통해 다양한 이점을 가져갈 수 있습니다.
저희 데브피플은 서비스 규모 및 단계에 따라 코딩, 노코드의 선택을 통해 더 나은 방향성을 선택하여 서비스를 개발하기 위해 노력하고 있습니다.
만약 현재 상황에서 어떤 것을 선택해야 할지 어렵다면 데브피플의 경험을 기반으로 컨설팅을 통해 상황에 적절한 방향성을 찾을 수 있게 도와드리겠습니다.
지금까지 시간과 비용의 한계로 실험하지 못한 다양한 아이디어, 신제품 기획이 있다면 더 이상 망설이지 말고 시도해보세요.