C#/관련 글

2024.11.21 칸반과 에자일을 분석하다

서지현 2024. 11. 21. 14:45

각 용어에 대한 정의를 알아보자.

 

Kanban 은 간판 또는 광고판을 의미하는 일본어 용어입니다. 오노 타이이치라는 산업 엔지니어가 도요타 자동차 회사에서 칸반을 개발하여 제조 효율성을 개선했습니다.

Kanban은 제조를 위해 만들어졌지만 소프트웨어 개발은 흐름 및 처리량 증가와 같은 많은 동일한 목표를 공유한다. 소프트웨어 개발 팀은 Kanban 지침 원칙 및 방법을 사용하여 효율성을 개선하고 사용자에게 더 빠르게 가치를 제공할 수 있다.

 

단순하게 정리하면칠판에 진행 상태, 사람, 업무 종류 등에 따라 칸을 나눈다.각 칸에 이슈 내용이 적힌 포스트잇을 붙여 현재 업무 현황을 한 눈에 파악하는 시스템

 

칸반의 특징 

  • 작업의 시각화
    • 작업의 시각화는 kanban이 주로 kanban보드를 통해 해결하는 핵심 원칙.
    • 진행률 별로 구성된 카드를 사용하여 전반적인 상태를 전달한다.
    • 카드 작업을 시각화하면 '프로젝트가 현재 있는 위치'에 대한 큰 그림을 쉽게 볼 수 있다.
    • 생산성에 영향을 줄 수 있는 잠재적인 병목 상태를 식별하는데 도움이 된다.

※ 병목 상태 : 전체 시스템의 성능이나 용량이 하나의 구성요소로 인해 제한받는 현상.

  • 진행 중 업무의 제한
    • kanban은 '현재 진행중인 업무량'에 제한을 둔다. 그로하여금 최종기한이 촉박한 경우와 품질이 저하되는 현상을 줄인다.
    • 팀이 현재 작업중인 항목을 WIP(Work In Progress) 라고 한다.
    • 한번에 작업할  수 있는 항목 수를 제한하면 현재 작업에 집중하는데에 도움이 된다.
  • 지속적인 개선을 연습
    • 작업 상태를 시각화하여 볼 수 있으므로, 작업의 흐름을 쉽게 이해하며 좀 더 효율적으로 개선한다.

에자일

'기민한', '민첩성'
의 사전적 의미를 지닌 애자일(Agile)은 몇 년 전부터 지속적으로 화두되고 있는 경영 트렌드 중 하나이자, 유연한 조직 문화를 만들기 위한 하나의 방법론입니다.

 

소프트웨어 개발 방식 중 하나로, 변화하는 고객 요구 사항에 대응하는 민첩하고 유연한 개발 방식이다.

작업 계획을 짧은 단위로 세우고, 만들고, 고쳐 나가는 사이클을 반복한다.

소비자의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론.

 

 

애자일의 특징

  • "주문 ➪ 디자인 ➪ 기능구현 ➪ 테스팅 ➪ 배포" x ∞
    • 기능을 축소하고 그 주기를 짧게하여 한 주기가 돌게한다.
    • 중간 테스트를 많이 가지는 방식이다. ( 피드백 )
    • 한 주기를 스프린트 (sprint) 라고 한다.
  • 짧고 반복적인 과정으로 빠르고 유연하며 수정도 쉽다.
  • 고객 중심이다.
    • 고객을 협상이나 계약의 대상으로만 보지않고, 협력의 대상으로 바라본다.
  • 아웃풋 중심이다.
  • 시장과 고객(주 수요층)의 변화가 빠른 현대에서 채택되는 방식.

그래서, 칸반과 애자일의 관계성은?

 

칸반은 애자일이라는 방법론을 실현하는 도구의 역할로서, Work In Process, 즉 WIP을 제안하여 애자일 방법론을 실행한다.

 

 

이슈들은 수영 레인 (SwimLane) 으로 불리는 행으로 나누고 우선 순위가 낮은 이슈들을 아래에 배치한다.

칸반의 핵심은 '현재 작업 중(혹은 가능한)인 업무량' 를 제한하는 것이며, 작업자는 '여유가 있을 때' 해당하는 작업 외의 업무를 끌어온다.

한번 이슈 처리를 시작하면 해당 이슈를 끝낸 후 다음 이슈를 확인 하고 업무에 들어가는 것이다. (멀티태스킹 지양)

또한, 핫픽스 (예측되지 않은 요청, 즉 버그와 오류 등.) 가 생긴다면 kanban은 바로 처리해야하는 이슈에 넣기 때문에, 좀 더 유동적이고 빠르게 문제 상황을 캐치하고 해결할 수 있다.


장점과 단점

애자일 방법론 분류 중 하나인 칸반은 팀이 동시에 소화할 수 있는 최대 업무 개수를 한정함으로서, 멀티태스킹을 지양하여 팀의 효율성을 추구한다. 팀이 중요한 업무에 계속 초점을 맞출 수 있는게 큰 장점이다. 또한, 수용 작업량을 체크하며 팀의 수용력을 최대한 활용할 수 있다.

 

다만, 마감기한이 없는 경우 전체 프로젝트가 늘어질 위험이 있다.

애자일 방법론은 변화에 유연하게 대응하는 것이 강점이기도 하지만, 장기적 계획을 세우는건 어렵다. 시작할때 대략적인 로드맵을 가지고 진행하지만, 구체적인 일정을 처음부터 세우지 않기 때문이다.

 

팀원 개개인의 자율성과 책임감이 매우 중요한 요소로 작용하며, 고객과의 지속적인 소통이 필수적이다.

 

즉, 애자일 방법론이 무조건 좋다기보단, 자신이 맡은 프로젝트의 종류에 따라 애자일이 적합한 선택이 될 것이다.

애자일 방법론은 현대의 복잡하고 빠르게 변화하는 비즈니스 환경에서 효과적인 관리 방식이다.


참고 사이트

 https://www.codestates.com/blog/content/%EC%95%A0%EC%9E%90%EC%9D%BC%EB%B0%A9%EB%B2%95%EB%A1%A0-%EC%9B%8C%ED%84%B0%ED%8F%B4%EB%B0%A9%EB%B2%95%EB%A1%A0

 

애자일과 워터폴 방법론 비교 | 정의, 차이, 장단점, 적합한 조직 - 코드스테이츠 공식 블로그

애자일 방법론의 출발은 소프트웨어 개발 방식이었지만 이제는 제품 개발을 넘어 하나의 일하는 방식, 워크플로우로 자리 잡았습니다. 대표적인 프로덕트 개발 방법론인 애자일 방법론을 소개

www.codestates.com

https://m.post.naver.com/viewer/postView.nhn?memberNo=36647560&volumeNo=18903174

 

애자일(Agile)이란 무엇인가

[BY 월간 인재경영] ‘애자일(Agile)’이란 용어는 소프트웨어 개발 방식의 하나로 통용되던 말이다. 작업...

m.post.naver.com

https://brunch.co.kr/@insuk/5

 

애자일이 무엇인가요?

프로그래머가 되고자 하는 분들을 위한 이야기 | 필자의 지인 중에 잘 알려진 IT출판사에서 근무를 하는 분이 계신다. 출판사에서 일하다보니 출판 기획, 저자 섭외 및 관리(?), 편집이나 교정 작

brunch.co.kr

https://kood-dev.tistory.com/2

 

애자일(Agile) 그리고 칸반(Kanban) 과 스크럼(Scrum)

애자일 이여야 하는가❓ 애자일은 소프트웨어 엔지니어링 다른 말로 소프트웨어 공학이라 불리는 학문의 일부분으로 소프트웨어(프로젝트)의 개발, 운영, 유지보수 등의 생명 주기 동안 효율적

kood-dev.tistory.com

칸반

https://learn.microsoft.com/ko-kr/devops/plan/what-is-kanban

 

Kanban이란? - Azure DevOps

Kanban 워크플로 효율성 원칙과 소프트웨어 팀이 Kanban 추적 및 보드를 사용하여 흐름 및 처리량을 늘리는 방법에 대해 알아봅니다.

learn.microsoft.com

https://bomz.tistory.com/3

 

칸반(Kanban)이란 무엇일까? 뭐가 좋은것일까?

칸반이란? 소프트웨어 시스템에서 칸반(Kanban)이란 단순하게 얘기하면 칠판에 진행상태나 사람, 업무 종류 등에 따라 칸을 나누고 각 칸에 이슈 내용이 적힌 포스트잇을 붙여 현재 업무 현황을

bomz.tistory.com

 

'C# > 관련 글' 카테고리의 다른 글

2024.11.22 오픈소스  (1) 2024.11.22
2024.11.22 IDE에 대해서  (1) 2024.11.22
2024.11.22 폰 노이만 구조  (0) 2024.11.22