애자일과 폭포수 방법론에는 어떤 차이가 있을까? 먼저 짝꿍과 파트를 나누어 조사해보았다 (내가 폭포수 짝꿍이 애자일)
- 폭포수
- 요구사항 분석 → 설계 → 구현 → 검증(테스트) → 유지보수
- 특징: 순차적 진행, 단계 검증, 하향식 접근, 피드백(결함 발견 시 전 단계로)
- 장점: 수직적으로 진행되기에 과정에 대한 이해 용이, 각 진행 단계 별 산출물(문서)이 확실, 진행 중 및 진행 이후 관리 용이
- 단점: 개발 도중에 요구사항이 변경되었을 경우, 추가적인 비용과 시간이 들게 됨
- (수정사항을 반영하여 처음부터 진행), 사용자 피드백에 대한 빠른 대응 어려움, 각 단계가 종결되어야 다음 단계 진행 가능
- 폭포수 모델 적용하기 좋은 조건
- 고객의 요구사항이 단순하고 변경 가능성이 높지 않은 경우
- 프로젝트의 규모와 난이도가 높지 않은 경우
- 각 단계 종료 후 나올 산출물의 결과가 명확한 경우
- 개선 모델 : 사시미 모델
- 애자일
- 작업 계획을 짧은 단위로 세우고 제품을 만들고 고쳐 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론
- 애자일 방법론은 프로젝트를 작은 단위의 작업과 단계로 나누는 프로젝트 관리 공정
- 업무를 세부적으로 나눠 진행하기 때문에 팀이 공정의 각 단계에서 관계자의 피드백을 적용하고, 작업을 재평가하고, 신속하게 반복 작업을 실행
- 애자일 방법론에서 가장 일반적으로 사용되는 방식은 짧은 개발 주기인 '스프린트'를 통해 업무를 점진적으로 진행하는 것입니다.
- 이를 통해 팀은 업무를 신속하게 진행하고, 스프린트 계획 단계와 매일 진행되는 스크럼을 통해 관리자, 관계자들과 정기적으로 업무를 재평가할 수 있죠.
프로젝트팀과 관계자들은 검토를 거쳐 업무를 현재의 방식대로 계속 진행할 것인지, 아니면 앞으로의 스프린트에서는 계획을 변경해 적용할 것인지 결정할 수 있습니다.
전통적인 프로젝트 관리 방식과 비교하면 애자일 방법론은 속도, 유연성, 팀워크, 관계자의 요구 사항을 가장 우선순위로 둔다는 점에서 차이가 있습니다.
- 이를 통해 팀은 업무를 신속하게 진행하고, 스프린트 계획 단계와 매일 진행되는 스크럼을 통해 관리자, 관계자들과 정기적으로 업무를 재평가할 수 있죠.
- 워터폴(Waterfall) 방식은
- 주문 ➪ 디자인 ➪ 기능구현 ➪ 테스팅 ➪ 배포
- 애자일(Agaile) 방식은
- "주문 ➪ 디자인 ➪ 기능구현 ➪ 테스팅 ➪ 배포" x ∞
- 아주 작고 중요한 단위로 쪼갠 MVP(최소 기능 제품)를 구현하고 배포하는 것을 반복하자

나는 개발 단계에 대한 이해도를 높일 수 있는 폭포수 방식을 더 선호한다
그렇다면 설계가 중요할까 개발이 중요할까?
나의 생각은
개발이 조금 더 중요하다
구현 과정에서 설계와 어느 정도의 오차는 있는 게 자연스러운 거라고 생각하고 설계 과정에서 심각한 오류를 만들지 않았다면 개발 과정에서 해결 가능하다고 생각하기 때문이다
'프디아 백엔드' 카테고리의 다른 글
| 세 번째 페어프로그래밍 : 선택정렬 (0) | 2024.04.29 |
|---|---|
| HTTP Request & Response (0) | 2024.04.26 |
| 내가 생각하는 객체 지향이란? (0) | 2024.04.11 |
| JAVA 인터페이스를 사용해야 하는 이유 (0) | 2024.04.08 |
| 페어프로그래밍 (0) | 2024.04.05 |