Agile 방법론 vs Waterfall 방법론
Agile은 SW 개발 방식의 한 종류로, "개발 간 필요사항을 피드백을 바탕으로 주도적으로 개발" 해 나가겠다는 것을 의미
폭포수 방법론은 단계별로 진행하는데, 다음 단계로 가기전 완벽하게 요구사항을 반영하여 개발했다는 것을 전제함
둘의 가장 큰 차이점은 "불확실성을 관리하는지 여부"로, 폭포수 모델은 초기에 모든 요구사항을 세세하게 정의 후 진행하기 때문에 기술의 불확실성을 확실하게 잡고 가는 반면, Agile 모델은 개발 중간중간 피드백을 반영하면서, 요구사항과 기술에 대한 불확실성이 높다는 것을 반영하여, 프로젝트를 진행하면서 수정해 나간다.
Agile 방법론의 Scrum
Scrum은 Sprint(스프린트)라는 대규모 프로젝트를 일정 단위(ex. 1주~4주)로 분할 하고, Product Owner, Scrum 마스터(제품 소유자)와 Scrum 팀(팀원)으로 구성하여 업무를 작업 및 관리하는 방식.
쉽게 말해 Scrum은 스프린트 기반의 점진적인 개발 방식이며, Product Owner는 무엇을 할지를 결정하는 역할, Scrum 마스터는 프로세스 적용시 발생할 장애물 제거 역할 하는 사람, Scrum Team은 실제 개발에 관여하는 개발팀을 의미한다.
Scrum은 Sprint 회고를 통해 피드백 루프에 집중하고, 진행상황을 점검하며 개발하는 것이 특징
Agile 방법론의 칸반
칸반 차트(칸반은 일본어로 카드나 눈에 보이는 기록을 뜻함)는 게시판 기반의 프로젝트 관리 방식으로, 순서가 정해진 공정에서 작업의 순서를 통제하는데 많이 사용.
칸반 차트의 맹점은 현재 진행하는 작업에 이슈가 있는지 확인이 되지 않는 점이다. (ex. 이슈가 발생하여 개발이 delay되고 있는 상황) 이러한 경우 칸반 차트에 등록된 태스크는 완료 되지 않은 상태로 계속 존재하게 된다.
참고 문헌
https://hanseul-lee.github.io/2020/11/29/20-11-29-Agile/
https://happygrammer.github.io/dev-methodologies/kanban-and-scrum/
'소프트웨어 개발자 > SW 개발론' 카테고리의 다른 글
[SW 개발] 테스트 중심의 개발 TDD (with. Unit, E2E, Integration) (0) | 2022.08.25 |
---|---|
[SW 개발] MSA vs 모놀리식 (0) | 2022.08.24 |
[SW 개발] PoC, Prototype, Pilot, MVP 란? (0) | 2022.08.22 |
CSR, SSR, SPA, MPA 정리 (0) | 2022.05.12 |
동적 웹페이지 개발 (Templates Engine) (0) | 2022.05.12 |