각 용어에 대한 정의를 알아보자.
Kanban 은 간판 또는 광고판을 의미하는 일본어 용어입니다. 오노 타이이치라는 산업 엔지니어가 도요타 자동차 회사에서 칸반을 개발하여 제조 효율성을 개선했습니다.
Kanban은 제조를 위해 만들어졌지만 소프트웨어 개발은 흐름 및 처리량 증가와 같은 많은 동일한 목표를 공유한다. 소프트웨어 개발 팀은 Kanban 지침 원칙 및 방법을 사용하여 효율성을 개선하고 사용자에게 더 빠르게 가치를 제공할 수 있다.
단순하게 정리하면칠판에 진행 상태, 사람, 업무 종류 등에 따라 칸을 나눈다.각 칸에 이슈 내용이 적힌 포스트잇을 붙여 현재 업무 현황을 한 눈에 파악하는 시스템
칸반의 특징
- 작업의 시각화
- 작업의 시각화는 kanban이 주로 kanban보드를 통해 해결하는 핵심 원칙.
- 진행률 별로 구성된 카드를 사용하여 전반적인 상태를 전달한다.
- 카드 작업을 시각화하면 '프로젝트가 현재 있는 위치'에 대한 큰 그림을 쉽게 볼 수 있다.
- 생산성에 영향을 줄 수 있는 잠재적인 병목 상태를 식별하는데 도움이 된다.
※ 병목 상태 : 전체 시스템의 성능이나 용량이 하나의 구성요소로 인해 제한받는 현상.
- 진행 중 업무의 제한
- kanban은 '현재 진행중인 업무량'에 제한을 둔다. 그로하여금 최종기한이 촉박한 경우와 품질이 저하되는 현상을 줄인다.
- 팀이 현재 작업중인 항목을 WIP(Work In Progress) 라고 한다.
- 한번에 작업할 수 있는 항목 수를 제한하면 현재 작업에 집중하는데에 도움이 된다.
- 지속적인 개선을 연습
- 작업 상태를 시각화하여 볼 수 있으므로, 작업의 흐름을 쉽게 이해하며 좀 더 효율적으로 개선한다.
에자일
'기민한', '민첩성'
의 사전적 의미를 지닌 애자일(Agile)은 몇 년 전부터 지속적으로 화두되고 있는 경영 트렌드 중 하나이자, 유연한 조직 문화를 만들기 위한 하나의 방법론입니다.
소프트웨어 개발 방식 중 하나로, 변화하는 고객 요구 사항에 대응하는 민첩하고 유연한 개발 방식이다.
작업 계획을 짧은 단위로 세우고, 만들고, 고쳐 나가는 사이클을 반복한다.
소비자의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론.
애자일의 특징
- "주문 ➪ 디자인 ➪ 기능구현 ➪ 테스팅 ➪ 배포" x ∞
- 기능을 축소하고 그 주기를 짧게하여 한 주기가 돌게한다.
- 중간 테스트를 많이 가지는 방식이다. ( 피드백 )
- 한 주기를 스프린트 (sprint) 라고 한다.
- 짧고 반복적인 과정으로 빠르고 유연하며 수정도 쉽다.
- 고객 중심이다.
- 고객을 협상이나 계약의 대상으로만 보지않고, 협력의 대상으로 바라본다.
- 아웃풋 중심이다.
- 시장과 고객(주 수요층)의 변화가 빠른 현대에서 채택되는 방식.
그래서, 칸반과 애자일의 관계성은?
칸반은 애자일이라는 방법론을 실현하는 도구의 역할로서, Work In Process, 즉 WIP을 제안하여 애자일 방법론을 실행한다.
이슈들은 수영 레인 (SwimLane) 으로 불리는 행으로 나누고 우선 순위가 낮은 이슈들을 아래에 배치한다.
칸반의 핵심은 '현재 작업 중(혹은 가능한)인 업무량' 를 제한하는 것이며, 작업자는 '여유가 있을 때' 해당하는 작업 외의 업무를 끌어온다.
한번 이슈 처리를 시작하면 해당 이슈를 끝낸 후 다음 이슈를 확인 하고 업무에 들어가는 것이다. (멀티태스킹 지양)
또한, 핫픽스 (예측되지 않은 요청, 즉 버그와 오류 등.) 가 생긴다면 kanban은 바로 처리해야하는 이슈에 넣기 때문에, 좀 더 유동적이고 빠르게 문제 상황을 캐치하고 해결할 수 있다.
장점과 단점
애자일 방법론 분류 중 하나인 칸반은 팀이 동시에 소화할 수 있는 최대 업무 개수를 한정함으로서, 멀티태스킹을 지양하여 팀의 효율성을 추구한다. 팀이 중요한 업무에 계속 초점을 맞출 수 있는게 큰 장점이다. 또한, 수용 작업량을 체크하며 팀의 수용력을 최대한 활용할 수 있다.
다만, 마감기한이 없는 경우 전체 프로젝트가 늘어질 위험이 있다.
애자일 방법론은 변화에 유연하게 대응하는 것이 강점이기도 하지만, 장기적 계획을 세우는건 어렵다. 시작할때 대략적인 로드맵을 가지고 진행하지만, 구체적인 일정을 처음부터 세우지 않기 때문이다.
팀원 개개인의 자율성과 책임감이 매우 중요한 요소로 작용하며, 고객과의 지속적인 소통이 필수적이다.
즉, 애자일 방법론이 무조건 좋다기보단, 자신이 맡은 프로젝트의 종류에 따라 애자일이 적합한 선택이 될 것이다.
애자일 방법론은 현대의 복잡하고 빠르게 변화하는 비즈니스 환경에서 효과적인 관리 방식이다.
참고 사이트
https://m.post.naver.com/viewer/postView.nhn?memberNo=36647560&volumeNo=18903174
https://kood-dev.tistory.com/2
칸반
https://learn.microsoft.com/ko-kr/devops/plan/what-is-kanban
'C# > 관련 글' 카테고리의 다른 글
2024.11.22 오픈소스 (1) | 2024.11.22 |
---|---|
2024.11.22 IDE에 대해서 (1) | 2024.11.22 |
2024.11.22 폰 노이만 구조 (0) | 2024.11.22 |