Waterfall VS Agile
폭포수 모델(waterfall model)
전통적인 방법으로 [요구사항분석->기획->디자인->개발->테스트->출시] 순서대로 진행하는 방식
마치 폭포가 떨어지는식으로 순차적인 단계를 밟으며 진행
하지만,이 방식대로 진행할 경우 수정하기가 어렵다.
하나의 단계가 끝나야 다음단계로 넘어갈 수 있어서, 피드백을 즉각즉각 반영할 수 없다.
보통 현실에선 요구사항 분석 및 기획단계에서 모든걸 100% 예상할 수가 없다.
그래서 수정을 해야할 경우 다시 요구사항분석->기획->디자인->개발 이 흐름을 기다려야한다.
결국 제대로 이슈들이 처리되지 않은채 엉키게 되면 코드품질도 떨어지고, 요구사항도 만족하지 못한 결과로 이어짐
애자일(Agile) 방법론
전통적인 방법론 보다 조금더 유연한 방식
기능단위으로 프로토타입을 기반으로 일하기 때문에, 폭포수모델보다 더 작은 단위로 개발을 진행한다.
그래서 자주 릴리즈하기 때문에 요구사항에 대한 피드백을 자주 받고, 빠르게 수정하고 대응할수 있다.
전통적인 방법이 완벽하게 하나의 단계가 끝나야 다음단계를 진행할 수 있었던것과 달리,
애자일방법은 완벽하진 않지만 고객의 요구사항을 만족하도록 피드백을 반영하면서 반복적으로 개발한다.
대표적으로 어떻게 애자일방법을 실행할것인가?에 대한 도구로 '스크럼'과 '칸반'이 있다.
스크럼은 sprint기반으로 실행하고, 칸반은 work in progrecess 제안하며 애자일방법을 실행한다.
스크럼(Scrum) VS 칸반(Kanban)
스크럼(Scrum)
스프린트(srpint)라는 반복적인 개발주기를 지정해서 애자일방법을 실행한다.
- 스프린트 계획 회의 (Sprint Planning Meeting) : 스프린트를 시작하는 날, 목표와 스프린트 기간동안 할 작업 계획
- 일일 스크럼 회의 (Daily Scrum Meeting) : 매일 모든 팀원이 짧게 어제한일과 오늘할일 공유하는 시간
- 스프린트 검토 회의 (Sprint Review Meeting) : 릴리즈 및 개선점, 잘한점, 문제점 공유
이렇게 스프린트 라는 반복적인 주기를 바탕으로 애자일하게 진행하는 방식
칸반(Kanban)
일본어로 '시각적 신호'라는 뜻으로 스크럼에 비해 조금더 rule이 적은 방식이다
정해진 sprint 기간 없이 연속적인 흐름에 따라 즉, Work in Process (WIP)에 따라 애자일방법을 실행한다.
대표적으로 일을 작은 조각으로 나누고, 포스트잇(이슈카드)에 항목을 기입한 후에 벽에 붙인다.
그래서 [Todo, ongoing, Done] 등 작업흐름의 어디에 있는지 표시할 수 있다.
이슈카드가 들어올때마다 시간추정작업을 하지만, 스크럼처럼 언제까지 처리해야한다는 종료일이 없다.
그래서 기한없이 backlog에 쌓이고, 연속적인 일의 흐름에서 급한 작업단위 순서대로 ongoing에 넣고 처리한다.
대신 ongoing에 넣을 수 있는 이슈카드의 개수가 제한적이다.
Work in Process (WIP)가 여유로우면 backlog에 있는 작업을 가져와서 진행한다
그럼 데이터팀은?
물론 상황마다 조직마다 다르겠지만
프로젝트 같은 종료일이 정해져야하는 업무가 많이 발생하는 경우 스크럼,
지속적인 업무를 다루며 프로젝트 개발 및 ops까지 다뤄야하는 경우 칸반 을 사용하는 것이 효율적
그래서 데이터팀 같은 경우엔 내부facing하는 경우가 많아 굳이 기한을 정해둘 필요가 없어서 칸반을 쓰기도 한다.
참고
https://pineoc.github.io/study/study/agile-study/Scrum-Kanban.html
https://paransilverlight.tistory.com/305
'🌿 Data Engineering > Data Processing' 카테고리의 다른 글
참고자료-DynamoDB 데이터 변경 이벤트 파이프라인 구축하기 (0) | 2021.12.27 |
---|---|
🧾대용량데이터 읽기 속도비교(read file, pandas, pyarrow) (1) | 2021.09.02 |
대용량데이터 빠르게 DB에 넣기(bulk insert) (0) | 2021.08.29 |
ETL ELT 차이 | 요즘엔 ETL에서 ELT로 흐름이 바뀌고 있다?@! (0) | 2021.08.16 |
[예정] 객체스토리지와 NoSQL스토리지의 차이점 /CAP정리 (0) | 2021.06.27 |
🌲Parquet(파케이)란? 컬럼기반 포맷 장점/구조/파일생성 및 열기 (1) | 2021.06.26 |