소프트웨어 개발 방법론 : 폭포수,

이 기사는 소프트웨어 개발 방법론과 각 유형에 대한 이해를 돕기 위한 것입니다.

1) 소프트웨어 개발 방법론: 폭포수 방법론, 애자일 방법론, 린 방법론


소프트웨어 개발 방법론이란?

– 소프트웨어 개발을 위해 특정 절차, 방법, 기술 등에 대한 요약입니다.

– 이를 통해 개발자가 프로젝트를 효율적으로 관리하고 더 높은 품질의 소프트웨어를 개발할 수 있도록 도와줍니다.

2) 폭포수 방법론


폭포수 방식이란?

– 소프트웨어 개발 방법의 하나로 개발 수명 주기를 “단계 세트”로 나누어 개발이 수행되는 방법을 특성화합니다.

– 이 방법론에 의해 각 단계는 이전 단계의 결과를 입력으로 받아 다음 단계의 결과를 출력하는 구조를 갖는다.

계획 및 분석(Discover) – 설계(Design) – 개발(Develop) – 테스트 – 운영/유지보수 단계가지다


출처: http://www.incodom.kr/%ED%8F%AD%ED%8F%AC%EC%88%98_%EB%B0%A9%EB%B2%95%EB%A1%A0

정황 설명
계획 및 분석(Discover) 이 단계에서는 요구 사항을 분석하고 문제 해결 방법을 도출합니다.
설계 구조설계, 제도, 상세설계 단계입니다.
개발하다 이 단계에서는 코딩, 단위 테스트 및 통합 테스트가 수행됩니다.
시험 이 단계에서는 시스템 테스트, 사용자 테스트 및 승인 테스트가 수행됩니다.
운영 및 유지보수 운영, 유지보수, 보완, 기능강화가 이루어지는 단계입니다.

3) 애자일 방법론


애자일 방법론이란?

– 소프트웨어 개발 방법의 하나로 “반복 및 증분 개발 방법”을 통한 점진적인 개발이 특징입니다.

– 개발 초기부터 고객의 요구사항을 반영하여 빠르게 개발하고 있으며, 그 과정에서 피드백을 받아 지속적으로 발전하고 있습니다.

– 모든 단계 계획 및 분석(Discover) – 설계(Design) – 개발(Develop) – 테스트 단계작은 단위 싸이클들로 나누어지고 싸이클이 끝나면 반복적으로 다음 싸이클로 진행한다.

– 애자일 방법의 종류가 대표적 Kanban, Scrum 및 Extreme Programming(XP)이 존재합니다.


출처: https://blog.rightbrain.co.kr/?p=5810

애자일 방법론의 핵심 용어

정황 설명
스프린트 애자일 방식 중 하나인 스크럼(Scrum) 용어로 고객 요구사항 개발을 일정 기간 내에 완료하는 ‘작업 주기’를 말합니다.
잔여물 개발할 기능 또는 작업 목록입니다.
스프린트 전에 우선 순위가 지정되어 스프린트 중에 개발되는 목록으로 사용됩니다.
일어 서서 회의 팀 구성원이 매일 아침 진행 상황과 문제를 공유하기 위해 만나는 스크럼에서 사용되는 회의입니다.
되풀이 애자일 방법론에서 사용되는 용어로 고객 요구 사항을 단계별로 구현하고 반복적인 개발 및 검증을 통해 소프트웨어를 개발하는 것을 의미합니다.
잠복 새로운 아이디어나 기능을 개발하기 전에 실험적으로 검증하는 애자일 방식에 사용되는 용어입니다.

4) 요약: Waterfall 방법론과 Agile 방법론의 비교


폭포수 방법론과 애자일 방법론을 비교하여 이해하고 비교하세요.


출처: https://hanseul-lee.github.io/2020/11/29/20-11-29-Agile/

분류 폭포수 방법론 민첩한 방법론
개요 계획 중심의 선형 개발 방법 반복 및 증분 개발 방법
소송 절차 단계별로 엄격하게 구분되는 발달 단계 반복 개발 단계
요구 사항 조기 정의 및 변경이 어려움 유연하게 대처할 수 있습니다
시험 개발 후 테스트 개발 초기부터 테스트
감독 예측 가능한 방향 변경 가능한 방향
소송 비용 높은 변경 및 오류 수정 비용 낮은 취득 비용 그러나 높은 유지 비용
적용 범위 주요 프로젝트 중소형 프로젝트
장점 명확한 계획 및 예측 가능성, 손쉬운 문서화 고객의 요구사항을 반영하여 변화하는 요구사항에 대응 용이
불리 변경 어려움, 유연성 부족, 대응력 부족 요금제 변경 어려움, 초기 비용이 저렴하지 않음

5) 린 방법론


린 방법론이란 무엇입니까?

– 소프트웨어 개발 방식의 하나로 초기 제조업에서 파생된 개발 방식이다.
목표는 낭비를 최소화하고 가치를 극대화하는 것입니다.

– 린 방법론 제품 개발 과정 전반에 걸쳐 고객의 피드백을 반영하고 불필요한 작업을 최소화하여 생산성을 높입니다.
하다.

– 린(Lean)은 제조업에서 사용하는 방법을 소프트웨어 개발 방법과 결합하여 사용하는 방법으로 린 방법의 종류는 다음과 같다.
린 소프트웨어 개발(LSD), 린 UX, 린 스타트업, 린 애자일, 린 시스템 엔지니어링있다

핵심 용어 설명
MVVP(최소 실행 가능한 제품) 가능한 한 기능이 적은 제품 또는 서비스
A/B 테스트 제품 또는 서비스의 두 가지 버전을 비교하여 어떤 것이 더 효과적인지 테스트하는 방법
피봇 포인트 실패한 가설이나 전략을 버리고 새로운 가설이나 전략을 시도하십시오.
캔버스(비즈니스 모델 캔버스) 비즈니스 모델의 핵심 요소를 시각적으로 구성하는 도구
슬림 캔버스 Lean 방법론에 적응한 Canvas는 제품 개발에 필요한 핵심 요소를 시각적으로 구성하는 도구입니다.

1. 린 스타트업


린 스타트업

– 스타트업에서 사용하는 린 방식 중 하나 “작은 단위로 빠르게 실험하고 검증하는 것”이 ​​중요합니다.

– 특히 Lean Stup의 핵심은 “적극적인 실험”입니다.
제품 또는 서비스를 신속하게 출시한 후 시장에서 피드백을 수집하고 그에 따라 제품 또는 서비스를 조정합니다.

– 적극적인 고객 피드백 수집 및 실험적인 개발 방법을 활용하여 초기 제품 개발 비용을 줄이고 빠르게 실패하고 성공할 수 있는 방법을 찾습니다.


출처: https://opentutorials.org/course/807/6066

린 스타트업 프로세스

– 아이디어 생성(IDEAS) → 가설 형성 및 실험 설계(BUILD & PRODUCT) → 실험 실행 및 피드백 수집(MEASURE) → 결과 분석 및 개선(DATA & LEANRN)

1. 아이디어 창출 단계에서는 문제점을 발견하고 고객의 요구를 파악하기 위해 시장 조사를 수행합니다.

2. 가설 생성 및 실험 설계 단계에서는 목표를 설정하고, 가설을 공식화하고, 가설을 테스트하기 위한 실험을 설계합니다.

3. 실험 실행 및 피드백 수집 단계에서는 설계된 실험을 실행하고 고객 피드백을 수집합니다.

4. 결과 분석 및 개선 단계에서는 수집된 데이터를 분석하여 가설을 검증하고 제품 또는 서비스를 개선합니다.

오늘 감사합니다.