애자일과 스크럼, 그리고 칸반

YJoo·2022년 5월 2일
0
post-thumbnail

멘토링

SW마에스트로에서 애자일과 스크럼, 그리고 칸반이라는 주제에 대해 남상수멘토님의 멘토링을 들었고, 너무 유익한 시간이 됐다고 생각해 정리해두려 한다.

폭포수(Waterfall) 모델


먼저, 애자일과 자주 비교되는
폭포수 모델은 요구사항 분석, 설계, 구현, 검증 단계를 순차적으로 진행하는 개발방법이다. 폭포수라는 이름과 그림에서 알 수 있듯이, 하나의 단계가 끝나면 다음 단계로 넘어가며 전 단계로 돌아가는 일은 거의 없다.

문제점

문제점에 주목해보면, 첫번째로는 시간이 오래 걸린다. 하나의 단계가 끝나야 다음 단계로 넘어갈 수 있기 때문에 시간이 오래 걸릴 수 밖에 없다.
또 다른 문제점으로는 책임이 분리되고, 의사소통에 한계가 있을 수 밖에 없다. 한 단계를 한 팀에서 마무리하면 다른 팀으로 일이 넘어가고 또 완료하면 다른 팀으로 넘어가는 구조이기 때문에, 한 과정에서 오류가 일어나면 돌아가지 못해 전체적인 흐름이 꼬이는 일이 일어나게 된다.
마지막으로는 빠른 소프트웨어 시장에 대응할 수 없다. 소프트웨어 시장은 엄청나게 빠르게 변하는데, 워터폴 모델에서 개발 시간은 느리기 때문에 정확한 타겟을 두고 화살을 발사하더라도 이동하는 중에 타겟이 이동해버리면 엉뚱한 곳으로 날아가게 되는 것이다.

애자일(Agile)

Agile = 민첩한, 날렵한
애자일은 소프트웨어 개발이
1. 예측하기 어렵고
2. 복잡하며
3. 변경될 수 있다
는 관찰을 기반으로 한 일련의 원칙 및 관행이다.

애자일 소프트웨어 개발 선언

  • 공정의 도구보다 개인과 상호작용
  • 포괄적인 문서보다 작동하는 소프트웨어
  • 계약 협상보다 고객과의 협력
  • 계획을 따르기보다 변화에 대응하기
    가치있게 여긴다.

애자일은 위 사진과 같은 방식으로 이루어진다. 요구사항 분석, 설계, 구현, 검증을 한 팀에서 진행하며 이를 여러 차례 진행한다. 이 과정을 통해 새로운 가치가 빠르게 탄생하게 된다.

스크럼(Scrum)

스크럼은 애자일적인 개발방법 중 하나로, 스크럼 마스터가 존재하는 팀에서 이루어진다.

일을 출시 가능한 작은 단위 목록으로 작성해 프로덕트 백로그에 두고, 1-4주 주기의 스프린트에서 진행할 일을 정해 스프린트 백로그에 넣은 후 스프린트 기간동안 계획, 설계, 구현, 테스트까지 진행한다. 매일 스크럼 마스터가 주도하는 회의가 열려 어느 로그를 담당하고 있으며 어디까지 진행했는지 공유하는 시간을 갖는다. 스프린트가 끝난 후에는 스프린트 회고를 통해 어느 부분이 해결이 되었고, 어느 부분이 부족했는지 리뷰하는 시간을 갖는다. 이 또한 스크럼 마스터에 의해 진행이 된다.

역할

프로젝트 오너(PO)

  • 제품 전략 및 로드맵 수립
  • 제품 백로그 설명 및 우선순위 관리
  • 제품 결정 검증

스크럼 마스터

  • 일일 스크럼 회의 진행
  • 팀의 작업 환경 확인 및 장애 요소를 해결
  • 이해관계자와 개발 팀 구성원의 의사결정 도움

칸반


칸반은 스크럼처럼 주기적으로 스프린트를 하며 진행하는 것은 아니지만, 작업 흐름을 시각화하여 관리하는 것을 의미한다. 지라(Jira)와 같은 툴을 이용해 온라인으로 관리할 수도 있고, 화이트보드같은 곳에 포스트잇으로 붙여 관리할 수도 있다.
이때 한 과정에 많은 작업이 몰리는 것을 막기 위해 과정 당 작업의 개수를 제한하기도 한다.

정리

profile
https://github.com/Y-Joo

0개의 댓글