[WAFFLE] 05-2 Agile
Published:
In this post, concepts of Agile will be provided.
Waterfall vs Agile Methodology

Agile
TDD (Test Driven Development)
- 짧은 개발 반복 주기(Sprint)의 품질을 보장하기 위한 개발 방법론
- (이론적으로) 모든 코드들은 테스트 가능함
- 특정 기능을 추가할 때, 다음 3가지를 반복
- 추가되는 기능에 대한 테스트 케이스를 추가 (Red)
- 테스트 케이스가 성공하도록 기능 추가 (Green)
- 추가된 기능의 코드를 수정 및 개선 (Refactor)
- 발전된 형태로 BDD, ATDD 등이 있음
- 파이썬에서는 주로 Pytest 사용

Pair / Mob Programming

- 둘 이상의 개발자가 함께 모여 하나의 컴퓨터로 개발
- 2가지 핵심 역할
- Navigator: 자기를 포함한 개발자 그룹이 생각한 해결책을 드라이버에게 지시
- Driver: 네비게이터의 지시를 코드로 구현
MVP (Minimum Viable Product)

- 일단, 동작하게 만들고 보자 - 는 마인드
- 조금씩 차이는 있지만, PoC나 ProtoType 과도 일맥상통함
Kanban

- 도요타 생산 시스템에서 유래
- 칸반 사용의 목적
- 업무 흐름을 시각화
- 동시에 처리 중인 작업의 개수를 제한
- 업무 분류 및 의존성 관리 용이
- Jira, Trello 등이 유명하지만, Notion 등 무료 솔루션을 사용해도 무방함

Leave a Comment