개발 일기

20260106 애자일 방법론 본문

TIL

20260106 애자일 방법론

종현종현 2026. 1. 6. 17:12

들어가며

저번 주에는 소프트웨어 공학에 대해 전반적으로 배웠다면 이번엔 애자일 방법론에 배해 자세히 배우는 수업이 진행됐다. 또한 지라라는 도구를 사용해 보았다. 복습을 하며 애자일 방법론에 대해 정리해볼까 한다.

 

애자일이란?

출처: https://tech.kakao.com/posts/398

애자일(Agile)은 민첩한, 날렵한이라는 뜻으로, 소프트웨어 개발을 비롯한 프로젝트 관리에서 짧은 주기로 반복하며 고객 피드백을 즉시 반영해 유연하고 빠르게 결과물을 만들어내는 방법론을 말한다. 이는 계획을 미리 세우기보다 점진적으로 개발하고 수정하며, 고객 중심 가치를 중요시하여 불확실한 환경에 효과적으로 대응하고 낭비를 최소화하는 방식이다.

왜 애자일이 등장했을까?

전통적 모델(폭포수 모델)의 한계

출처: https://bap-software.net/kr/knowledge/what-is-the-waterfall-software-models/

폭포수 모델은 순차적으로 단계를 진행하는 전통적인 개발 방법론이다. 실제 소프트웨어 개발에서는 여러 문제점이 있다.

주요 문제점들

  • 사용자 요구 파악과 명세의 어려움: 정확한 요구를 상대방에게 전달하기 어렵다.
  • 일정을 못 맞출 위험: 이전 단계가 완료돼야 다음 단계로 진행 가능하기 때문에 지연 위험부담이 크다.
  • 요구 변경을 수용하기 어려움: 뒤로 갈수록 변경 비용이 기하급수적으로 증가한다.
  • 품질 확보의 어려움: 테스트를 프로젝트 종료 시점에 몰아서 하다 보니 품질 문제가 발생한다.

애자일 선언문(Agile Manifesto)

애자일 선언문은 2001년 17명의 소프트웨어 개발 전문가들이 모여 기존의 무겁고 경직된 정통적 개발 방식의 한계를 극복하고, 빠르게 변화하는 시장과 고객의 요구에 민첩하게 대응하기 위해 유연성, 협업, 실제 동작하는 소프웨어, 고객과의 소통을 핵심 가치로 삼는 새로운 개발 철학을 정립하기 위해 탄생했다.

사이트 주소: https://agilemanifesto.org/iso/ko/manifesto.html

 

애자일 소프트웨어 개발 선언

애자일 소프트웨어 개발 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게

agilemanifesto.org

애자일 핵심

핵심 특징

  • 짧은 개발 주기 : 단기간에 반복 개발하여 중간 결과를 확인한다. (스크럼의 스프린트)
  • 우선순위 기반 개발 : 가장 중요한 기능부터 순차적으로 개발한다.
  • 변하는 범위 : 기능(범위)을 조정하여 비용과 일정, 품질을 맞춘다.
  • 통합된 팀 : 분업화를 추구하지 않고 하나의 팀이 모든 일을 책임진다.

핵심 원리들

  • 고객 중심 계획 : 실행되는 SW 기능을 중심으로 프로젝트를 계획한다.
  • 큰 프로젝트를 작게 분할 : 유저 스토리라는 짧은 문장으로 표현한다.
  • 테스트 중심 : 페어프로그래밍, 테스트 중심 개발을 통해 품질을 확보한다.
  • 피드백 : 올바른 목표를 향해 가고 있는지 정기적으로 고객에게 확인한다.

대표적인 애자일 방법론들

Scrum

  • 스프린트, 백로그, 스크럼 미팅

Kanban

  • 시각화, WIP 제한

XP(eXtreme Programming)

  • 테스트 중심 개발, 페어 프로그래밍

애자일의 장단점

장점

  • 변화에 유연
  • 빠른 사용자 피드백
  • 팀 커뮤니케이션 향상

단점

  • 문서 부족 위험
  • 경험 없는 팀에겐 혼란
  • 일정 예측이 어려움

 

마무리

애자일에 대해 공부한 내용을 정리하고 복습했다. 애자일은 도구가 아니라 일하는 방식을 의미한다는 것, 모든 팀에 꼭 접합하다고도 할 수 없다는 것을 알았다. 수업 중에는 Jira를 사용해 직접 최근 마무리된 프로젝트를 Jira에서 한 번 백로그와 목록에 넣어서 스토리 포인트, 우선순위 등을 나누어 보았는데 애자일뿐만 아니라 Jira에 대한 이해도 늘릴 수 있어서 좋았다.

 

'TIL' 카테고리의 다른 글

20260120 three.js를 공부해보았다.  (1) 2026.01.20
20260113 vanila-extract 공부  (0) 2026.01.13
20251229 UML의 이해  (1) 2025.12.29
251223 소프트웨어와 개발 프로세스  (0) 2025.12.23
20251215 깃브랜치협업  (0) 2025.12.15
Comments