이것은 복잡한 주제이며 주제에 대한 논쟁이 자주 있습니다. 나는 이것에 대한 "정규적인"의견의 개념을 좋아하지 않습니다 : 가치에 대한 다양한 의견들이 있습니다. 그러나 접근 방식을 안내해야하는 지원 가치, 원칙 및 관행이 있습니다.
다음은 10 년 이상 스크럼 팀과 함께 일하는 본인의 의견에 근거한 것입니다. 그러나 그것은 단지 나의 의견입니다.
예측 방법으로서의 스토리 포인트 스토리 포인트의 원래 의도는 팀이 일정 기간 동안 완료 할 수있는 것을 예측하기 위해 노력을 추정 할 수있는 빠른 방법을 찾는 것이 었습니다. "휘도"중 일부는 포인트가 장기 범위 (예 : 릴리스)를 예측하는 데에만 사용되며 스프린트 레벨에서 용량을 결정하지는 않습니다. 또한 개념은 팀이 과거 값을 기준으로 "상대적 크기 조정"을 적용한다는 것입니다 (노력 X는 3 점인 노력 B와 유사합니다). 이를 통해 추정 프로세스 속도가 빨라지므로 팀은 향후 작업을 세부 작업 패키지로 분류하고 모든 작업에 시간을 적용 할 필요가 없습니다. 고성능 팀은 모든 기술 인력을 비슷한 기술 수준의 매우 유능한 구성원으로 키우려고 노력합니다. (이 개념은 포인트 # 4에서 더 자세히 살펴볼 것입니다.) 이것이 달성되면, 개별 기술 수준은 실제로 사이징의 변수가 아닙니다. 그러나 그 목표를 달성하기 위해서는 보통 오랜 시간과 노력이 필요합니다. 그래서 ... 도착하기 전에 어떻게해야합니까?
작업 시간은 스프린트 용량을 결정합니다. 포인트가 장기 예측에 사용된다고 언급 한 동일한 "조명"에 따르면 작업 시간은 포인트가 아닌 스프린트 용량을 결정하는 데 사용되도록 제안합니다. 제 생각에는 괜찮습니다. 그러나 코치 팀이 "고성능"을하도록 도와 주었을 때, 레벨 아웃 기술은 스토리 포인트 만 사용하여 스프린트에서 완료 할 수있는 것을 정확하게 결정할 수있는 곳까지 평균이 났다고 말할 것입니다. . 다시 말하지만, 그것은 우리가 노력하는 목표 일 수 있지만, 새로운 팀은 그 준비가되어 있지 않습니다. 따라서 한 번의 스프린트에서 작업 시간이 12 시간이고 2 시간이 25 시간 인 스토리가 있습니다. 그래서 당신은 무엇을합니까? 내가 "민첩한 순수 주의자"라고 부르는 일부 사람들은 스토리 크기 (단위 : 포인트)가 지속 시간에 무관심해야한다고 말합니다. 다른 사람들은 동의하지 않습니다. 항목 # 3의 논리를 읽고 당신의 생각을보십시오.
- 합의에 의한 스토리 포인팅 : 볼륨 적용, 미지, 복잡성, 지식
따라서 팀은 작업을 검토하고 노력 수준의 대리자가 될 요점에 동의해야합니다. 권리? 모든 기술이 동일하다고 가정하면 합의에 도달하기 쉽습니다. 그러나 종종 팀에는 Java 전문가 인 사람이 있으며 Java에는 능숙하지 않은 다른 사람이 있습니다 (아마도 C # 또는 .Net 또는 Cobol 사람이고 Java를 배우고 있음). 따라서 Bob의 작업 X는 매우 간단합니다. Jane에게는 더 어렵다.
애자일 팀은 공동 코드 소유권과 성장 / 확장 전문 지식을 홍보하려고합니다. 따라서 우리는 일반적으로 전문 지식을 기반으로 사람들에게 이야기를 할당하지 않습니다. 우리는 팀이 함께 이야기를하고 함께 배우는 것을 선호합니다. 이는 "Slow down to speed up"의 개념과 일치합니다. Jane에게 Java에 대한 경험을 제공하는 데 시간이 걸리면 처음에는 속도가 느려지지만 나중에는 더 유능한 Java 개발자가됩니다. 실제로 하나의 Java 전문가 만 있고 모든 사람이 자신의 전문 분야에서 작업하는 경우 여러 잠재적 "실패 지점"이있는 상황이 발생합니다. 작업의 90 %가 Java 인 경우 스프린트에서 어떤 일이 발생하지만 Bob (Java 전문가)이 아프거나 휴가 중입니까? 기술을 확장함으로써 잠재적 병목 현상을 제거하고 위험을 줄입니다. 그것을 염두에두고 : 팀이 스토리를 볼 때 사이징 할 때 몇 가지 개념을 염두에 두어야합니다. VUCK의 약어로이 점을 기억할 수 있습니다.
볼륨 : 일부 노력은 매우 간단하지만 많은 양의 반복 작업이 필요합니다. (단순하기 때문에 1 포인트라고 말한 50 + 테이블을 복사하고 다시 포맷 해야하는 사람이 있었지만 팀은 쉽게 볼 수 있지만 시간이 많이 걸리고 많은 테이블이 있음을 깨달았습니다. 작업량에 따라 포인트를 다시 조정해야했습니다.)
미지수는 : 때때로 우리는 우리가 무엇을 해야할지 생각하지만, 우리는 또한 일부 미지수를 식별 -이 대표 위험성을 . 그리고 이것은 다른 솔루션을 해결, 재 설계 또는 시도해야하는 예기치 않은 문제가 발생할 수 있음을 의미합니다.
복잡성 : 이것은 매우 명백합니다. 일부 솔루션은 기술적으로 복잡합니다. 우리는해야 할 일을 정확히 알고 있지만 기술 전문 지식이 필요합니다. 복잡성은 또한 어떤 위험을 암시하지 않습니까? 따라서 우리 모두가 동일한 기술을 보유하더라도 기술적 복잡성으로 인해 예기치 않은 문제가 발생할 수 있습니다. 그래서 우리는이 이야기를 더 크게 만들 수 있습니다.
지식 : 우리가 무엇을 해결하고 있는지 정말로 알고 있습니까? 때로는 고객이 원하는 솔루션에 대해 완전히 명확하지 않은 경우도 있습니다. 또는 아무도이 솔루션을 구현 한 적이 없으며 (이전에 사용한 적이없는 새로운 기술), 우리는 우리가 모르는 것을 모릅니다.
제 생각에는 이러한 모든 고려 사항은 실제로 연장 된 기간 동안의 대리입니다. 쉬운 이야기, 많은 양? 시간이 더 걸리거나 스토리를 분리해야합니다. 미지수? 위험, 연구, 실험이 추가되면 시간이 더 걸리거나 스토리를 분리해야합니다. 복잡한? 추가 위험, 버그 수정, 재 설계 등이 필요하므로 시간이 더 걸릴 수 있습니다. 필요한 지식이 있는지 모르십니까? 추가 위험이 있으며 실험해야 할 수도 있으므로 시간이 더 걸릴 수 있습니다 ...
어디로 가는지 봅니까? 이야기 포인트의 개념은 우리가 추정 할 때의 지속 시간에 대해 생각하는 것을 방해하지만, 반면에 우리는 4 시간 안에 완료 할 수있는 1 포인트 스토리와 단순하지만 1 시간짜리 스토리를 갖는 것은 비논리적입니다. 이주.
- 고성능 팀은 사일로 및 병목 현상을 제거합니다. 팀은 모든 구성원의 레벨을 높이려고하기 때문에 경험이 적은 구성원이 새로운 도전에 참여하거나 팀을 개선하기 위해 지식을 공유하기 위해 쌍 코드를 작성하는 경우가 있습니다. 앞에서 언급했듯이 팀이 진정한 고성능 레벨에 도달 할 경우 필수입니다.
만약 Jane이 그 자바 노력에 자원하고 만약 Bob이 그렇게한다면 같은 노력의 기간을 2 배 또는 3 배로 만들 수 있다면 어떻게해야할까요? 시간이 지남에 따라 우리 팀은 노력하는 사람들을 위해 노력 수준 (LOE) / VUCK에 따라 사이징 이야기를 정했습니다. Guru 팀 Bob은 Jane에게 쉽지 않고 완료하는 데 1 주일이 걸리고 페어 코딩 및 코드 검토를 위해 Bob의 시간이 필요하다고 말하면 "1"이라고 말하는 것은 의미가 없습니다. 따라서 우리는 실제 LOE를 반영하기 위해 이러한 점들을 강화했습니다. 다음에 비슷한 이야기가 왔을 때 Jane의 8은 이전에 5가되었습니다. 결국 모든 사람들이 쉽지 않다는 데 동의했습니다. 3. 그 시점에서 우리는 팀으로 성장하고 있음을 알았습니다.