Skip to main content

소프트웨어 엔지니어가 칸반 방법을 사용하는 방법

Google Tech Talk with Jeff Dean at Campus Seoul (유월 2025)

Google Tech Talk with Jeff Dean at Campus Seoul (유월 2025)
Anonim

스크럼에 대해 잘 알고 있습니까? Scrum Alliance의 회원 수가 40 만 명이 넘으며 그 중 대부분이 조직에서 성공적으로 사용하고 있다고 생각합니다.

그러나 소프트웨어를 민첩하게 구축 할 수있는 유일한 방법은 아닙니다. 칸반에 대해 들어 보셨습니까?

약간의 배경 정보는 원래 공장을 통과하는 작업의 입력 및 출력을 시각화하는 방법으로 린 제조에 적용되었습니다. 이 시각화는 간반 (Kanban)이라는 보드에 제공되었습니다. 보다 최근에 귀하에게 더 적합한 소프트웨어 개발 관리 방법으로 채택되었습니다.

신경 학자 인 데이비드 J. 앤더슨 (David J. Anderson)이 처음 소개 한이 소프트웨어는 프로세스 개발 문제를 발견하고 귀사 제품의 가치있는 개선을 지속적으로 제공 할 수있는 소프트웨어 개발 및 계획을 구성하는 방법입니다. 간단히 말해, 어떤 시점에서 작업 (카드로 표시)이 개발 과정에 있는지 확인할 수 있습니다.

작동 원리

기본 Kanban 보드는 6 개의 열을 사용하여 각 작업이 제품 개발주기에서 어디에 있는지 보여줍니다. 대략적인 모습은 다음과 같습니다.

Trello에서이 Kanban 보드 예제를보십시오.

열 1 : 백 로그

백 로그 열에는 우선 순위가 지정된 아이디어, 버그 또는 비즈니스 요구 사항 목록이 포함되어야합니다. 이 카드에는 아직 자세한 내용이 없어도되지만 팀 구성원이 중요한 이유를 이해하기에 충분한 정보가 있어야합니다.

2 열 : 계획

이 칼럼에서 제품 관리자는 비즈니스 이해 관계자, 엔지니어 및 디자이너와 만나 기능에 대한 사양을 작성합니다. 준비가되면 "엔지니어링 준비 완료"열로 이동합니다.

3 열 : 엔지니어링 준비

이 단계에서 모든 카드에는 자세한 사양이 있어야합니다. 기술적 인 세부 사항에 대해 여전히 질문이있을 수 있지만 비즈니스 요구 사항은 분명해야합니다.

열 4 : 진행 중

언제든지 카드를 "진행 중"으로 옮길 수 있습니다. 이 자체 주도형“풀”시스템은 개인의 책임과 호기심의 문화를 구축합니다.

열 5 : 테스트

카드 작업을 완료하면 다른 엔지니어 (또는 QA 팀원)가 픽업 할 "테스트"로 옮깁니다.

열 6 : 배포

또 다른 정의 기능은 작업이 스테이징 또는 프로덕션 환경에 지속적으로 제공되어야한다는 것입니다. 이 열을 사용하면 팀의 모든 사람이 최근에 릴리스 된 작업을 볼 수 있습니다.

장점과 장단점

Kanban과 Scrum 또는 Waterfall과 같은보다 일반적인 방법론을 결정할 때는 다음과 같은 이점과 과제를 염두에 두십시오.

이점 : 협업 향상

내가 함께 일한 일부 개발 팀에서 엔지니어는 전문가였습니다. 각 팀에는 두 명의 프론트 엔드 엔지니어와 백엔드 엔지니어가 있습니다. 이것은 엔지니어가 다른 것에 바쁘기 때문에 작업이 종종 차단되었음을 의미했습니다.

반면 칸반은 진행중인 작업을 제한하고 막힘을 억제합니다. 각 팀원은 한 번에 하나의 항목 만 작업 할 수 있으며, 바쁘지 않은 사람은 "엔지니어링 준비"열 맨 위에서 작업을 가져올 수 있습니다. 이것은 엔지니어링 일반인과 팀 구성원 간의 협업을 장려합니다.

이점 증대 : 준비가되기 전에 물건을 통과시키지 마십시오

Kanban은 카드가 완전히 끝날 때까지 다음 열로 카드를 옮기기를 기다릴 때만 작동합니다. (보너스 : 결함을 크게 최소화합니다.)

도전 과제 : 시간을 반영하지 말라

기본적으로 명확한 목표, 날짜 목표 및 릴리스주기를 가진 타임 박스 스프린트는 없습니다. 대신, 각 카드를 언제든지 완료하고 릴리스 할 수있는 독립적 인 작업으로 생각하십시오.

이 지속적인 작업 흐름을 통해“다음 스프린트까지 기다림”옵션이 없습니다. 지속적으로 보드를 확인하고 다음 항목을 당기고 완성 된 항목을 다운 스트림으로 이동해야합니다. 회고전과 스탠드 업을 위해 제 시간을 세우지 않으면 팀원들이 어떻게하고 있는지 파악하기 어려울 수 있습니다.

둘러보기 : 스크럼에서 작동하는 내용 차용

나는 Kanban과 함께 매일 스탠드 업과 회고전을 사용하여 가치를 추가한다는 것을 알았습니다. 팀에 적합한 정기적 인 모임이나 패턴이 있다면 칸반을 교리 적으로 고수하도록 변경하지 마십시오. 제품 개발주기에서 어떤 일이 일어나고 있는지 모든 사람들이 알 수 있도록 우선 순위와 변경 사항에 대해 이야기 할 예산 시간.

이점 : 투명도 향상

각 개발자는 주도권을 가지고 카드를 "진행 중"열로 이동해야합니다. 즉, 팀 관리자는 항상 바쁜 사람, 바쁘지 않은 사람 및 진행중인 작업 시간을 확인할 수 있습니다.

생산이 느려지거나 중단되면 Kanban을 사용하여 이유를 정확하게 확인할 수 있습니다. 비즈니스 팀이 백 로그에서 항목의 우선 순위를 지정하지 않았거나, 제품 팀이 스펙을 완료하지 않았거나, 개발 팀이 예상보다 느리게 이동하거나, QA 팀이 무언가를 테스트 할 수 없었기 때문입니다. 병목 현상이 분명합니다.

혜택 강화 : 진행 상황 공개

장점 중 하나는 Kanban이 매우 시각적이라는 것입니다. 기술이 아닌 팀원도 Kanban 보드를보고 작업중인 부분을 알 수 있습니다. 이를 활용하여 보드를 공공 장소에 올리면 팀의 성과가 빛을 발할 수 있습니다.

도전 과제 : 장기 계획을 허용하지 않음

마감일과 견적에 대해 걱정하는 것이 시간을 가장 생산적으로 사용하는 것은 아니므로 Kanban이 일상적인 결과에 더 가깝다는 것을 알고있을 것입니다. 즉, 장기 계획을 세우기위한 시스템만으로는 충분하지 않습니다. 이로 인해 한 가지 일에 오랫동안 집중하지 않고 산발적으로 프로젝트를 진행할 수 있습니다. 프로젝트 A에서 하루를 보낸 다음 프로젝트 B에서 하루를 보낸 다음 프로젝트 A로 다시 전환하기는 어렵습니다.

해결 방법 : 우선 순위가 변경 될 가능성이있을 때 사용하십시오

보드의 각 열은 다른 열과 독립적이므로 팀 구성원은 언제든지 물건을 움직일 수 있습니다. 이것은 스럼 설정 (스프린트에 대한 추정치가 미리 정 해짐)에서 개발자를 성가 시게 할 수 있지만 칸반은 이런 종류의 빠르게 변화하는 환경에서 번성합니다.

누구나 생산성을 높이기를 원하지만 어디서부터 시작해야할지 확실치 않으면 새로운 것을 시도하기가 어려울 수 있습니다. Kanban이 도움이되었으며 개인 워크 플로 (또는 전체 팀)에도 유용 할 것으로 기대합니다.

당신이 그것을 주사하기로 결정하면 저에게 트윗하십시오!