애자일(Agile) 개발 방법론

@Joy Lee · January 21, 2025 · 6 min read

0. 개발 방법론에 대해서

소프트웨어 개발 방법론은 소프트웨어를 개발하는 과정에서 사용되는 체계적인 접근 방식을 의미한다.
가장 대표적인 방법론에는 폭포수 모델과 애자일이 있다.

1. 폭포수 방법론 (Waterfall)

폭포수 모델은 전통적인 소프트웨어 개발 방법론으로 각 단계가 순차적으로 진행되며 이전 단계가 완료되어야 다음 단계를 진행할 수 있다. 주로 SI 프로젝트에서 활용한다 (시스템을 개발하고 업체에 납품하는 형태)

개발 과정은 요구사항 정의부터 시작하여 분석, 설계, 구현, 테스트, 유지보수까지 순차적으로 진행된다. 각 단계는 이전 단계가 완전히 완료되어야만 다음 단계로 넘어갈 수 있다. 마치 폭포수가 거슬러 올라갈 수 없는 것처럼 이전 단계로 돌아가기가 매우 어렵다.

주요 특징

  1. WBS(Work Breakdown Structure) : 프로젝트를 세부 단위로 분해하여 task, 일정, 담당자(R&R)가 정해진 상태로 진행한다
  2. 문서 중심의 체계적 접근 : 각 단계별 산출물을 상세하게 문서화하여 진행 상황을 공유한다.
  3. 단계별 명확한 검증 : 각 개발 단계가 명확하게 구분되어 있어 단계별 목표와 완료 기준이 분명하다

장점

  • 명확한 계획 수립이 가능하여 단계별 진행 상황을 쉽게 파악할 수 있다
  • 각 단계가 끝난 후 다음 단계로 넘어가기 때문에 진행관리가 용이하다

단점

  • 초기 단계에서 모든 요구사항을 명확히 정의해야 하므로 요구사항 변경에 유연하지 않다
  • 각 단계가 종료된 후에는 되돌리기 어려워 오류 수정 비용이 크다
  • 고객의 피드백을 프로젝트 후반에나 반영할 수 있어 사용자 요구 반영이 늦어진다.

2. 애자일 방법론 (Agile)

애자일은 '민첩한', '기민한'이라는 의미로 변화하는 요구사항에 유연하게 대응하면서 지속적인 개선을 추구하는 개발 방법론이다. 서비스 중심의 프로젝트나 지속적인 개선이 필요한 프로젝트에서 많이 활용한다

주요 특징

  1. 백로그: 개발해야 할 기능들의 우선순위 목록. 우선순위는 상황에 따라 유동적으로 변경될 수 있다.
  2. 스프린트: 1-4주 단위의 개발 주기. 각 스프린트마다 계획, 개발, 리뷰, 회고의 과정을 거친다.
  3. 데일리 스크럼: 매일 진행되는 짧은 미팅. 즉각적인 문제점 파악 및 개선이 가능하다.

장점

  • 지속적인 피드백을 통해 요구사항 변경에 유연하게 대응이 가능하다
  • 반복적이고 점진적인 개발로 기능 단위의 빠른 출시와 개선이 가능하다
  • 팀 간의 협업과 커뮤니케이션이 활발하여 문제 해결과 혁신이 촉진된다
  • 고객의 요구사항을 신속히 반영할 수 있어 사용자 만족도가 높다.

단점

  • 명확한 계획 수립이 어려워 일정과 비용 관리가 어려울 수 있다
  • 프로젝트의 방향이 자주 변경될 수 있어 혼란이 발생할 수 있다
  • 팀원들의 경험과 역량에 따라 성과가 크게 좌우된다

결론

두 방법론은 각각의 장단점이 있으며 프로젝트의 특성에 따라 적절한 방법론을 선택하는 것이 중요하다. 폭포수 모델은 요구사항이 명확하고 변경이 적은 대규모 SI 프로젝트에 적합하며, 애자일은 변화가 잦고 빠른 피드백이 필요한 서비스 중심의 프로젝트에 적합하다. 최근에는 두 방법론의 장점을 혼합한 하이브리드 방식도 많이 사용되고 있다.



REFERENCE
애자일과 워터폴 방법론 비교 https://www.codestates.com/blog/content/애자일방법론-워터폴방법론
네이버 블로그 https://blog.naver.com/dongwoo0313/222358903027

Joy Lee
FRONTEND DEVELOPER