개주 훈련일지/📚 코살대 교본 학습

소프트웨어 개발 애자일 모델

lshfood2 2025. 11. 30. 18:38

전통적 개발 방식은

  • 초기 요구 분석과 설계가 과도하게 크고
  • 개발 도중 변경이 생기면 비용이 커지고
  • 완성된 뒤에야 제품을 볼 수 있다는 문제점이 있었다.

애자일은 이 문제들을 해결하기 위해

2001년 애자일 선언문을 바탕으로 만들어진 방법론이다.

 

핵심은 빠르게 만들고,

빠르게 피드백을 받고,

빠르게 방향을 조정하는 것이다.

 

짧은 주기(2~6주)의 반복 개발로

빠르게 실행 가능한 소프트웨어를 만든 뒤,

매 반복마다 피드백을 받고 개선해나가는 방식이다.


[ 애자일 모델의 핵심 가치 ]

애자일 선언문에서 강조한 네 가지 가치이다.

  1. 문서보다 커뮤니케이션을 우선한다.
  2. 문서가 아닌 실행되는 소프트웨어로 요구를 확인한다.
  3. 요구사항은 언제든 변할 수 있다고 가정한다.
  4. 짧은 반복 주기마다 반성하고 다음 계획에 반영한다.

[ 애자일 모델의 주요 특징 ]

1) 짧은 개발 주기 반복

한 번에 거대한 시스템을 만드는 것이 아니라
2~6주의 스프린트로 나눠 점진적으로 완성한다.

 

2) 우선순위 기반 개발

모든 기능을 한 번에 만드는 것이 아니라
가장 중요한 기능부터 만든다.

 

3) 유연한 범위 변경

전통 방식처럼 “기능 범위 고정”이 아니라
범위는 계속 바뀌어도 된다.
대신 품질·비용·일정은 최대한 맞춘다.

 

4) 협업 중심의 팀 구성

개발 / 기획 / QA 로 쪼개 분업화하는 구조가 아니라
한 팀으로 움직이며 함께 제안하고 함께 수행한다.

 

장점

  • 소프트웨어를 빠르게 배포할 수 있어 즉각적인 고객 피드백을 얻을 수 있다.
  • 낭비 요소가 적고 항상 가장 필요한 것부터 작업한다.
  • 문제와 결함을 빨리 발견한다.
  • 문서 과정을 줄여 개발 속도와 유연성이 매우 높다.

단점

  • 문서화가 부족해 새로운 인원이 적응하기 어렵다.
  • 개발자·고객 모두 지속적인 참여와 소통이 필요하다.
  • 요구가 계속 바뀌면 프로젝트가 끝없이 늘어질 위험이 있다.
  • 전체 구조(아키텍처·UX)가 약해져 장기적 일관성이 떨어질 수 있다.

[ 대표적인 애자일 방법론 ]

 

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

소규모 팀에 적합한 민첩한 방법론이다.
대표 특징은 다음과 같다.

  • 사용자 스토리로 기능 정의
  • 매일 빌드 & 통합
  • 테스트 주도 개발(TDD)
  • 페어 프로그래밍

2) 크리스탈 (Crystal)

프로세스보다 사람·커뮤니케이션을

더 중요하게 보는 방법론이다.

  • 문서보다 대화 중심
  • 프로젝트 크기에 따라
    Clear → Orange → Red 등으로 구분
  • 팀의 재량과 상호신뢰가 기반

3) 스크럼 (Scrum)

현재 가장 널리 쓰이는 애자일 방법론으로
스프린트 짧은 단위 반복 개발이 핵심이다.

스크럼 팀 역할

  • 프로덕트 오너 : 요구 정의 & 우선순위 관리
  • 스크럼 마스터 : 팀 조율 및 스크럼 가이드
  • 개발팀 : 3~10명 정도의 실제 개발 담당

주요 이벤트

  • 스프린트 계획 회의
  • 일일 스크럼(15분 데일리 미팅)
  • 스프린트 리뷰
  • 스프린트 회고

스프린트 산출물

  • 프로덕트 백로그
  • 스프린트 백로그
  • 동작하는 소프트웨어
  • 번다운 차트