소프트웨어 개발 방법론 — 폭포수·나선형·애자일

정처기 2026-08-18 14:21:18 정처기소프트웨어공학폭포수애자일스크럼

글 목록 →

개발 방법론은 소프트웨어를 만드는 절차와 산출물, 역할을 정해 둔 표준 진행 방식이다. 정처기 필기에서는 각 방법론의 진행 순서와 특징, 서로의 차이를 묻는 문제가 반복해서 나온다. 큰 흐름은 이렇게 잡으면 된다 — 계획을 다 세우고 한 방향으로 가면 폭포수, 위험을 살피며 돌면서 가면 나선형, 짧게 자주 내놓으면 애자일이다.

폭포수 모델 (Waterfall)

가장 오래된 고전적 모델이다. 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수를 폭포처럼 한 방향으로 밟는다.

  • 각 단계가 끝나야 다음 단계로 넘어가며, 단계마다 산출물(문서)이 명확하다.
  • 장점: 절차가 명확해 관리가 쉽다. 요구사항이 처음부터 확실한 프로젝트에 맞는다.
  • 단점: 앞 단계로 되돌아가기 어렵다. 요구사항 변경에 취약하고, 문제가 후반(테스트 단계)에야 드러난다.

나선형 모델 (Spiral)

계획 수립 → 위험 분석 → 개발 → 고객 평가의 네 활동을 나선처럼 반복하며 점진적으로 시스템을 완성한다. Boehm이 제안했다.

  • 핵심 식별자는 위험 분석 단계의 존재다. 문제 지문에 “위험 분석”이 보이면 나선형이다.
  • 대규모·고위험 프로젝트에 적합하지만, 반복마다 비용이 들고 관리가 복잡하다.

애자일 (Agile)

계획과 문서보다 동작하는 소프트웨어와 변화 대응을 앞세우는 방법론들의 총칭이다. 애자일 선언의 네 가치가 그대로 출제된다.

  • 공정과 도구보다 개인과 상호작용을
  • 포괄적 문서보다 동작하는 소프트웨어를
  • 계약 협상보다 고객과의 협력을
  • 계획을 따르기보다 변화에 대응하기를

대표 구현으로 Scrum과 XP가 있다. Scrum은 스프린트라는 고정 주기로 개발을 반복하며 제품 백로그·데일리 미팅 같은 장치를 쓴다. XP(eXtreme Programming)는 짧은 릴리스, 짝 프로그래밍, 테스트 주도 개발을 실천 기법으로 삼고, 의사소통·단순성·용기·피드백·존중의 5가지 가치를 내세운다.

시험에 자주 나오는 포인트

  • 폭포수 단계의 순서 배열 문제 — 분석이 설계보다 먼저라는 것만 확실히 잡아도 절반은 푼다.
  • 나선형 = 위험 분석 + Boehm. 네 활동의 순서(계획 → 위험 분석 → 개발 → 고객 평가)도 출제된다.
  • 애자일 선언 네 가치는 “무엇보다 무엇을”의 방향을 뒤집어 내는 함정이 흔하다 — 문서보다 동작하는 소프트웨어를 앞세우는 쪽이 옳은 방향이다.
  • XP의 5가지 가치와 Scrum 용어(스프린트·백로그)를 섞어 놓고 어느 방법론의 요소인지 구분하게 한다.

댓글

이 글에 대한 의견은 아래 댓글로 남겨주세요 (GitHub 계정 필요). 로그인 없이 남기고 싶다면