전통적 방법론 vs 애자일
폭포수 모델 (Waterfall)
- 순차적 진행: 요구사항 → 설계 → 개발 → 테스트 → 배포
- 장점: 명확한 계획, 문서화 체계적
- 단점: 변경 어려움, 늦은 피드백
애자일 (Agile)
- 반복적 개발: 짧은 주기로 지속적 개발
- 고객 중심: 빠른 피드백과 지속적 개선
- 변화 대응: 계획보다 변화에 신속 대응
애자일 핵심 원칙
애자일 선언문 (4가지 가치)
- 개인과 상호작용 > 프로세스와 도구
- 작동하는 소프트웨어 > 포괄적인 문서
- 고객과의 협력 > 계약 협상
- 변화에 대응 > 계획을 따르기
12가지 원칙
- 고객 만족을 위한 가치 있는 소프트웨어 조기 지속 배포
- 변화하는 요구사항을 환영하고 경쟁 우위로 활용
- 2주~2개월 주기로 작동 소프트웨어 배포
- 비즈니스 담당자와 개발자 일상적 협력
- 동기부여된 개인 중심 팀 구성
스크럼 (Scrum)
스크럼 기본 구조
역할 (Roles)
- Product Owner: 제품 비전 정의, 백로그 관리
- Scrum Master: 프로세스 지원, 장애물 제거
- Development Team: 실제 개발 담당 (3-9명)
이벤트 (Events)
- Sprint: 1-4주 개발 주기
- Sprint Planning: 스프린트 목표와 작업 계획
- Daily Scrum: 15분 일일 진행상황 공유
- Sprint Review: 완성된 기능 시연
- Sprint Retrospective: 프로세스 개선 논의
산출물 (Artifacts)
- Product Backlog: 기능 우선순위 목록
- Sprint Backlog: 스프린트 내 수행할 작업
- Increment: 스프린트에서 완성된 기능
스크럼 프로세스
- Product Backlog 작성: 사용자 스토리 형태로 기능 정의
- Sprint Planning: 2-4주 스프린트 계획 수립
- Daily Scrum: 매일 15분 진행상황 공유
- Sprint Review: 이해관계자에게 결과 시연
- Retrospective: 팀 프로세스 개선 방안 논의
칸반 (Kanban)
칸반 핵심 원리
- 시각화: 작업 흐름을 보드로 표현
- WIP 제한: 진행 중 작업량 제한으로 병목 해결
- 흐름 관리: 작업 처리 속도 최적화
- 지속적 개선: 리드타임과 처리량 개선
칸반 보드 구성
기본 컬럼: To Do → In Progress → Done 고급 컬럼: Backlog → Ready → Develop → Test → Deploy → Done
칸반 vs 스크럼
- 칸반: 지속적 흐름, 고정 주기 없음
- 스크럼: 스프린트 기반, 고정된 이벤트
사용자 스토리 작성
기본 형식
"**[사용자]**로서 **[기능]**을 원한다. [이유] 때문이다."
예시
- 온라인 쇼핑몰 고객으로서 장바구니 기능을 원한다. 나중에 구매하기 위해서다.
- 관리자로서 주문 현황을 조회하고 싶다. 배송 상태를 관리하기 위해서다.
INVEST 원칙
- Independent: 독립적
- Negotiable: 협상 가능
- Valuable: 가치 있는
- Estimable: 추정 가능
- Small: 작은 단위
- Testable: 테스트 가능
추정 기법
스토리 포인트
- 상대적 크기 측정 (절대시간 아님)
- 피보나치 수열 사용 (1, 2, 3, 5, 8, 13...)
- 복잡도, 노력, 불확실성 종합 고려
플래닝 포커
- 각자 추정값을 카드로 제시
- 차이가 클 경우 토론
- 합의될 때까지 반복
번다운 차트
- 남은 작업량을 시간별로 추적
- 진행 속도와 완료 예상일 파악
- 스프린트/릴리즈 단위로 작성
데브옵스 (DevOps)
핵심 개념
- 개발(Development) + 운영(Operations) 통합
- 지속적 통합/배포 (CI/CD)
- 자동화와 모니터링 중시
CI/CD 파이프라인
지속적 통합 (CI)
- 코드 커밋
- 자동 빌드
- 자동 테스트
- 피드백
지속적 배포 (CD)
- 자동 배포
- 모니터링
- 롤백 체계
SAFe (Scaled Agile Framework)
대규모 애자일
- 여러 팀이 협력하는 대기업 환경
- 포트폴리오 → 대규모 솔루션 → 필수 → 팀 레벨
핵심 요소
- ART (Agile Release Train): 50-125명 팀 집합
- PI (Program Increment): 8-12주 계획 주기
- SAFe Big Room Planning: 전체 팀 합동 계획
도구와 플랫폼
프로젝트 관리 도구
Jira: 가장 널리 사용되는 애자일 도구
- 스크럼/칸반 보드 지원
- 백로그 관리, 스프린트 계획
- 리포팅과 대시보드
Azure DevOps: 마이크로소프트 통합 플랫폼
- 작업 항목 추적
- Git 리포지토리 통합
- CI/CD 파이프라인
기타 도구
- Trello: 간단한 칸반 보드
- Monday.com: 시각적 프로젝트 관리
- Asana: 팀 협업 도구
커뮤니케이션 도구
- Slack, Microsoft Teams: 실시간 소통
- Confluence: 문서 협업
- Miro, Figma: 화상 협업 보드
실무 적용 가이드
애자일 도입 단계
- 팀 교육: 애자일 원칙과 방법론 학습
- 파일럿 프로젝트: 작은 프로젝트로 시작
- 도구 선택: 팀에 맞는 관리 도구 도입
- 프로세스 개선: 회고를 통한 지속적 개선
- 조직 확산: 성공 사례를 다른 팀에 전파
성공 요소
팀 문화
- 투명한 커뮤니케이션
- 실패를 통한 학습 문화
- 지속적 개선 마인드
리더십
- 변화에 대한 지원
- 팀 자율성 보장
- 장애물 제거
주의사항
- 모든 프로젝트에 애자일이 적합하지 않음
- 규제가 많은 산업은 전통적 방법론 고려
- 점진적 도입이 급진적 변화보다 효과적
- 도구보다 사람과 프로세스가 우선
하이브리드 접근
상황별 선택
- 명확한 요구사항: 폭포수 모델
- 변화하는 요구사항: 애자일/스크럼
- 지속적 운영: 칸반
- 대규모 조직: SAFe
혼합 적용
- 계획 단계는 전통적 방법론
- 개발 단계는 애자일 적용
- 팀별로 다른 방법론 선택
애자일과 스크럼은 변화에 빠르게 대응하고 고객 가치를 지속적으로 전달하는 현대적 프로젝트 관리의 핵심입니다.