CodeClover

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

읽고 생각한 것들

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

coding dew 2026. 1. 26. 10:00

소프트웨어 개발 방법론

: 개발자들이 프로젝트를 효율적으로 관리하고 더욱 품질 높은 소프트웨어 개발하기 위한 구체적인 절차 ,방법, 기술들을 정리한 것을 의미한다.

개발 방법론의 종류는 크게 3가지로 나눌 수 있다.

폭포수 방법론

  • 소프트웨어 개발 방법론 중 하나로 개발 생명 주기를 폭포수가 내려오는 것처럼 순차적으로 ‘일련의 단계’로 나누어 개발하는 방법
  • 각 단계는 이전 단계의 결과물을 입력으로 받아 다음 단계의 결과물을 출력하는 구조로 원칙적으로 이전 단계로 돌아갈 수 없음

⇒ 과거에는 성장성이 높고 불확실성이 낮아서 요구사항을 먼저 정하고 → 분석하고 → 설계하고 → 개발하고 → 테스트하는 순차적인 단계로 프로젝트 진행하는 방식이 주된 방식이었음

애자일 방법론

  • 소프트웨어 개발 방법론 중 하나로 ‘반복적이고 점진적인 개발 방법’을 통해 개발 진행하는 것
  • 개발 초기부터 고객의 요구 사항을 반영하여 빠르게 개발하고 그 과정에서 지속적으로 피드백을 받아 개발을 진행합니다.

[ 애자일 방법론의 각 단계 ]

계획 및 분석(Discover) - 설계(Design) - 개발(Develop) - 테스트단계 작은 단위의 사이클로 분리하고 사이클이 종료가 되면 다음 사이클로 반복적 진행

예 ) 칸반(Kanban) / 스크럼(Scrum) / 익스트림 프로그래밍 (Extreme Programming, XP)

⇒ 폭포수 방식은 기본적으로 속도 느리고 체계를 벗어나지 못하는 한계점이 있어서 빠르게 변화하는 시대의 흐름에 적절하지 못함.

[ 차이점 ] 위의 폭포수 vs 애자일 방법론의 가장 큰 차이점으로는 수행 단계의 반복 여부이다.

린 방법론

  • 제조 산업에서 비롯된 개발 방법론으로 낭비를 최소화하고 가치 최대화를 목적으로 한다.
  • 고객의 피드백으로 수시로 반영해서 불필요한작업을 최소화하고 생산성을 높이는 것이 목표

예 ) 린 소프트웨어 개발 (LSD) / 린 UX, 린 스타트업 / 린 애자일 / 린 시스템스 엔지니어링

 

3가지 방법론 이미지로 정리

 

위에서 소프트웨어 개발 방법론의 상위 개발 철학 관점에서 폭포수 , 애자일, 린 방법론으로 3가지 레벨으로 정리했다면 아래에서는 애자일 실천 프레임워크 기준으로 추가적으로 3가지 애자일 구현 방식에 대해서 정리해볼게여 ~

개발방법론을 몇 가지로 보는가는 분류 기준에 따라서 달라지는데 CS 관점에서는 상위 개념으로 나누고 실무에서는 구체적인 실천 프레임워크까지 추가해서 나눈다고 합니다. 우리는 보통 실무에서 대화 형식으로 이야기하는게 대부분일테니 보통 말하는 개발 방법론은 애자일 실천 프레임워크까지 포함해서 총 5가지를 생각하면 될거 같아요~~ 🙂

 

애자일 방법론 유형들

1. 칸반

칸반 : 애자일 방법론에 시각적인 방식으로 접근

팀은 온라인 칸반 보드를 사용하여 작업이 각 개발 단계를 거치는 동안 진행 중인 작업을 표시합니다. 작업은 보드에 카드로 표시되고, 단계는 열로 표시 / 팀원은 각각의 카드를 백로그에서 현재 단계에 해당하는 열로 이동한다.

  • 칸반은 장애물을 식별하고 완료된 업무량을 추적하는 데 유용한 전략입니다.

2. 스크럼

스크럼 : 소규모 팀에서 사용하는 일반적인 애자일 방법론 스크럼에는 스프린트도 포함되는데

  • 팀은 스크럼 마스터가 주도하고 이때,, 스크럼 마스터의 주된 역할은 팀원들이 일상 업무에 집중할 수 있도록 장애물을 제거
  • 스크럼 팀은 매일 회의를 열어 진행 중인 작업, 장애물, 개발 프로세스에 영향을 미칠 수 있는 기타 문제에 대해 논의

3. 익스트림 프로그래밍(XP)

XP : 협업을 개선하기 위해 팀의 가치를 강조하는 소프트웨어 개발에 사용되는 애자일 프레임워크

  • 커뮤니케이션, 단순성, 피드백, 용기, 존중이라는 5가지 핵심 가치는 개발자가 프로젝트 전반에 걸쳐 상호 작용하고 의사 결정을 내리는 방법 안내
  • 일일 스크럼 스탠드업과 마찬가지로 XP에는 잦은 릴리스와 반복이 포함됨
  • 업무 처리 방식에 초점을 맞춘 보다 기술적인 접근 방식을 취하여 개발 팀이 고객의 요구에 신속한 대응 가능

애자일 방법론 유형들 찾아보다 보면 위의 3가지 이외에도 여러가지 유형들이 존재하는거 같은데 일단 우리가 대표적으로 자주 사용하고 기본적으로 알고 있어야 하는거는 흐음 위의 3가지인 듯합니다~