[WAFFLE] 05-2 Agile

less than 1 minute read

Published:

In this post, concepts of Agile will be provided.

Waterfall vs Agile Methodology

waterfall_vs_agile

Agile

TDD (Test Driven Development)

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

Pair / Mob Programming

mob_programming

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

MVP (Minimum Viable Product)

mvp

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

Kanban

kanban

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

Leave a Comment