해당 글에서는 소프트웨어 개발방법론에 대해 이해하고 각각의 종류에 대해 이해를 돕기 위해 작성한 글입니다.
1) 소프트웨어 개발방법론
💡 소프트웨어 개발 방법론 이란?
- 소프트웨어를 개발하기 위한 '구체적인 절차, 방법, 기술 등을 정리'한 것입니다.
- 이를 통해 개발자들이 프로젝트를 효율적으로 관리하고 소프트웨어를 더욱 품질 높게 개발할 수 있도록 도와줍니다.
2) 폭포수 방법론(Waterfall Methodology)
💡 폭포수 방법론(Waterfall Methodology)이란?
- 소프트웨어 개발 방법론 중 하나로 개발 생명 주기를 폭포수가 내려오는 것처럼 순차적으로 ‘일련의 단계’로 나누어 개발하는 방법을 의미합니다.
- 해당 방법론을 통해 각 단계는 이전 단계의 결과물을 입력으로 받아 다음 단계의 결과물을 출력하는 구조를 가지고 있습니다.(방법론의 원칙적으로 완료된 단계(이전 단계)로 돌아갈 수는 없습니다) - 계획 및 분석(Discover) - 설계(Design) - 개발(Develop) - 테스트 - 운영/유지보수 단계를 가집니다.
- 소프트웨어 개발 방법론 중 하나로 ‘반복적이고 점진적인 개발 방법’을 통해 개발을 진행하는 것을 특징으로 합니다.
- 개발 초기부터 고객의 요구 사항을 반영하여 빠르게 개발하고 그 과정에서 지속적으로 피드백을 받아 개발을 진행합니다. - 각각의 단계는 계획 및 분석(Discover) - 설계(Design) - 개발(Develop) - 테스트단계를 '작은 단위의 사이클로 분리'하고 사이클이 종료가 되면 다음 사이클로 반복적으로 진행합니다. - 애자일 방법론의 종류는 대표적으로 칸반(Kanban), 스크럼(Scrum), 익스트림 프로그래밍 (Extreme Programming, XP)이 존재합니다.
- '폭포수 방법론' 같은 경우는 수행 과정에서 하나의 단계를 완료하게 되면 완료된 단계(이전 단계)로 돌아갈 수 없습니다.
- 그러나 '애자일 방법론'의 경우는 하나의 단계가 되는 과정을 쪼개서 단계를 수행하고 이전 단계로 돌아가서 수정을 하게 되는 시점이 된다면 돌아가서 수행을 할 수 있습니다.
5) 린 방법론(Lean Methodology)
💡 린 방법론(Lean Methodology)이란?
- 소프트웨어 개발 방법론 중 하나로 이전 제조 산업에서 비롯된 개발 방법론으로 ‘낭비를 최소화하고 가치를 최대화하는 것’을 목적으로 합니다. - 린 방법론은 제품을 개발하는 전 과정에서 고객의 피드백을 수시로 반영하며, 불필요한 작업을 최소화하여 생산성을 높이는 것을 목표로 합니다. - 린은 제조 산업에서 사용하는 방법을 소프트웨어 개발방법론과 결합하여 사용합니다. 린 방법론의 종류는 린 소프트웨어 개발 (LSD), 린 UX, 린 스타트업, 린 애자일, 린 시스템스 엔지니어링이 있습니다
주요 용어
설명
MVVP(Minimum Viable Product)
가능한 최소한의 기능으로 구성된 제품 또는 서비스
A/B 테스트(A/B Test)
두 가지 버전의 제품 또는 서비스를 비교하여 어느 것이 더 효과적인지를 테스트하는 방법
피벗(Pivot)
실패한 가설이나 전략을 버리고 새로운 가설이나 전략을 시도하는 것
캔버스(Business Model Canvas)
비즈니스 모델을 구성하는 주요 요소들을 시각적으로 정리한 도구
린 캔버스(Lean Canvas)
캔버스를 린 방법론에 맞게 수정한 것으로, 제품 개발에 필요한 핵심 요소들을 시각적으로 정리한 도구입니다.
1. 린 스타트업(Lean Startup)
💡 린 스타트업(Lean Startup)
- 스타트업에서 사용되는 린 방법론 중 하나로 ‘작은 단위로 빠르게 실험하고 검증하는 것’을 중요시합니다.
- 특히 린 스트업의 핵심은 “적극적인 실험”입니다. 제품이나 서비스를 빠르게 출시한 후 시장의 피드백을 수집하고 그에 따라 제품이나 서비스를 조정합니다. - 적극적인 고객 피드백 수집과 실험적인 개발 방법을 채용하여 제품 개발에 대한 초기 비용을 줄이고, 빠르게 실패하며 성공할 수 있는 방법을 모색합니다.
- 아이디어 도출(IDEAS) → 가설 설정과 실험 설계(BUILD & PRODUCT) → 실험 실행과 피드백 수집(MEASURE) → 결과 분석 및 개선(DATA & LEANRN)
1. 아이디어 도출 단계에서는 문제 발견과 고객 니즈 파악을 위한 시장 조사를 수행합니다. 2. 가설 설정과 실험 설계 단계에서는 목표를 설정하고 가설을 설정하고 가설을 테스트할 수 있는 실험을 설계합니다. 3. 실험 실행과 피드백 수집 단계에서는 설계한 실험을 실행하고 고객의 피드백을 수집합니다. 4. 결과 분석과 개선 단계에서는 수집한 데이터를 분석하여 가설을 검증하고 제품이나 서비스를 개선합니다.