MVP 방식으로 필수 요구사항 정리

SongWoo Yu·2025년 3월 20일

1. MVP - Minimum Viable Product

MVP 개발은 제품의 핵심 가치를 빠르게 검증할 수 있는 효과적인 방법이다. 이는 최소한의 필수 기능(생존 가능한)을 갖춘 실행 가능한 제품 버전이다. MVP 개발의 핵심은 빠른 시장 검증과 사용자 피드백 수집을 통해 제품을 발전시키는 것이라고 한다.

제품의 실행 가능성을 테스트하고 출시 기간을 단축하며 개발 비용을 최소화하는 것이 MVP 접근의 목적이다. 이를 통해 초기 사용자로부터 피드백을 수집하고 이를 수용하여 여러 번 개발 단계를 거침으로서 뼈대를 세우고, 살을 붙이는 과정을 반복하는 것이다.

2. MVP 개발 단계

  1. 문제 정의와 가설 수립
    먼저 문제 정의는 개발하려는 솔루션이 해결하고자하는 문제(과제)가 무엇이며 실제로 존재하는지를 검증한다. 잠재 고객 인터뷰를 진행하여 실제 사용자의 니즈와 페인 포인트를 파악한다. 그리고 시장에 이미 존재하는 유사 솔루션을 분석하여 차별점을 얻을 필요가 있다. 시장 규모와 잠재력을 평가하고 검증 가능한 형태로 핵심 가설을 정리한다.

    우리 같은 경우 과제와 고객 인터뷰, 니즈를 먼저 파악하여 장황한 요구사항들을 정리하고 있었다. 이 단계에서 우리는 최소한의 필수적인 과제와 니즈를 정리할 필요가 있다.

  2. 핵심 기능 정의
    문제 정의 후에는 이를 해결하기 위한 최소한의 기능 세트를 정의해야 한다. 모든 제품 스펙을 두 가지로 나누어 가설 검증을 위한 핵심기능(제폼에 없어서는 안 되는 기능)과 가설 검증과는 직접적인 연관이 적은 고급 기능이 있다. 기능의 선정 기준은 필수성, 가치, 구현의 복잡도로 따진다. 해당 기능이 없으면 제품이 작동하지 않는지, 핵심 문제 해결에 직접 기여하는지, 개발에 얼마나 많은 리소스가 필요한지.

    높은 가치/낮은 복잡도 → MVP 1차 출시
    높은 가치/높은 복잡도 → MVP 2차 업데이트
    낮은 가치/낮은 복잡도 → 추후 고려
    낮은 가치/높은 복잡도 → 제외

    오늘은 앞서 정리한 필수적인 문제(과제)와 니즈를 정리하고, 이를 기반으로 핵심 기능을 정리해보려고 한다. 그리고 3주간 이를 기반으로 실제 핵심 기능을 가진 프로토타입을 제작할 생각이다. 이후에 나오는 3~부터는 이론만 일단 정리하려고 한다.

  3. 프로토타입 설계
    먼저 프로토타입은 사용자 경험에 맞게 설계해야 한다고 한다. 무슨 말이냐면 간단하지만 효과적인 기능으로 구성되어야 한다는 의미이다. 복잡한 프로세스를 지양하고 간단한 사용법(인터페이스 및 과정)을 지향해야 한다. 이를 기반으로 피그마를 통해 화면을 구성해야 한다. 이렇게 시각화하는 것을 각각의 기능에 따라 플로우 다이어그램, 로우 피델리티 와이어프레임, 인터렉션 프로토타입이라고 한다. 이때 단순하고 명확하게 설계해야 한다.

    그리고 기술 스택을 선정해야 하는데, 이는 개발 속도, 개발 기술력, 확장성, 유지보수 용이성을 갖고 해야 한다. 우리는 이미 Quasar framework와 node.js로 풀스택 선정을 했고, 데이터베이스는 Supabase의 postgreSQL, 클라우드 서비스는 AWS를 이용하기로 했다.

  4. 프로토타입 제작
    진짜 개발 시작은 여기서부터인데, 필요한 주요 기능을 실제로 구현하는 작업으로 범위와 복잡성을 최소화해야 한다. 이때 GitLab을 통해 버전을 관리하고 여러 개발 환경(CI/CD 파이프라인, 개발/스테이징/프로덕션, 모니터링 도구 등)을 구성해야 한다. 이후 코드를 통해 이들을 구성하고, 주변 장치들을 연결하여 제작하여야 한다.

  5. 테스트 진행
    이렇게 제작된 프로토타입을 가지고 내부적이나 제한된 범위의 사용자에게 공개하고 이를 테스트하여 사용자 경험을 테스트해야 한다. 이때 검증된 소수의 고객 또는 선정된 베타 테스터를 통해서 피드백을 받는 것이 적합성을 찾는데 도움이 된다.

  6. 피드백 수집 및 분석
    위 테스트를 통해 수집된 피드백을 분석하여 서비스 전반의 기능과 성능, 문제점, 사용성 등을 검증한다.

  7. 반복적인 개선작업
    분석한 내용들을 기반으로 반복적으로 개선하고 테스트하여 초기 개발을 마치고, 여기에 살을 붙여나가는 추가 작업(2, 3차 개발 등)을 이어나가야 한다.

0개의 댓글