2010-06-29 9 views
3

마지막으로 나는 아무런 방법론도없이 스크럼/애자일 (Scrum/Agile) 방법을 사용하는 회사와 함께 일하고있었습니다. 스크럼 "전문가"가 실제로 스크럼을 효과적으로 구현하는 방법을 알지 못했다는 사실을 포함하여 많은 문제가 발생했습니다.품질 보증 담당자는 어떻게 견적을 정확하게 산출합니까?

그들이 사용하는 계획은 상대적으로 간단했습니다.
1. 품질 보증 시간과 예상 시간의 예상치가 하나의 예상치 인 Sprint Planning 회의를 시작하십시오. 품질 관리 시간 및 개발 시간은 1 회의 추정치가 아닙니다.
2. 시간의 예상치가 스프린트의 총계에 도달하면 해당 스프린트에 더 이상 기능이 추가되지 않습니다.

중요한 문제는 QA가 일반적으로 개발자가 코드를 작성하는 방법을 알지 못한다는 것입니다. 결국 그들은 코더가 아닙니다! 따라서 QA 팀은 실제로 상당한 시간을 예측할 근거가 없습니다. 반대로 개발자의 99.9 %는 위생 테스트, 기능 테스트, 회귀 테스트 및 UAT 테스트의 차이를 알지 못하므로 특정 기능에 필요한 QA 시간을 정확하게 예측할 수 없습니다.

궁극적으로 저는 QA 팀에게 총알을 가져다가 경영진에게이 염려를 표한 바 있습니다. 여기서 나는 스크럼 환경에서 일할 수 없다는 이유로 즉각 해고 당했지만 실제로 여기도 마찬가지입니다.

하지만 오류가 무엇인지 궁금하게 생각합니다. 그것은 내 문제가 엄격하고 사물에 힘든 시간을 걸기를 원 했나요? 아니면 QA가 본질적으로 코드에 걸리는 시간을 알고 있어야한다는 기대였습니까?

+1

재미 있습니다. 어느 회사와 함께 일하지 말아야하는지 알려주세요. –

+0

아쉽네 ... 죄송합니다. 견적은 과학보다 예술입니다. 제 의견으로는 - 당신은 대위법에 근거한 증거 기반 자료를 조사 할 수 있습니다. –

답변

0

서로 이야기하고 두 팀 간의 시간 예산을 설정 한 다음 mgmt에 제출하는 것이 좋습니다.

0

이 질문에 대한 대답은 아니지만 제 생각에는 QA 담당자가 개발 IDE없이 할 수있는 코드로 모든 것을 할 수 있어야합니다. 설계, 비즈니스 로직, 루프 닫기, 설계 테스트 등을 이해하는 것은 QA 담당자가 수행 할 수 있습니다.

+0

대부분 동의합니다. 그러나 누군가 코드를 작성하지 않은 경우 새 코드로 테스트해야하는 위치를 알 수 없습니다. 그러므로 우리가 가지고있는 문제에 부딪치게됩니다 ... 당신이 무엇을 테스트하고 있는지 (그리고 아직 설계되지 않았기 때문에) 당신이 알지 못한다면, 당신은 어떻게하면 좋을지 예측할 수 없습니다. 오랫동안 제대로 테스트 해봐야합니다. –

-1

잘 작동하려면 dev/test주기를 상쇄해야합니다. 그래서 당신은 하나의 반복에서 코딩하고 다음에 QA를 코딩합니다. 따라서 QA 팀은 작업 범위를 적절하게 파악할 수있는 시간을 갖게되며 개발자가 예상 한 결과를 토대로하지 않습니다.

+0

좋은 생각입니다. –

4

저는 QA와 Dev 모두에있었습니다. 이 과정은 단순한 것으로 귀결되기 때문에 어느 한 지역에서 그다지 다르지 않습니다. 모든 견적은 추측입니다. 그들은 경험, 직감, 특정 문제의 복잡성과 위험에 대한 평가를 기반으로하지만, 기껏해야 좋은 추측입니다.

특정 기능 영역 주변의 알려진 작업 집합을 분석하여 더 유용하게 만들 수 있습니다. 품질 관리에서는 가능한 모든 각도에서 문제를 바라보아야합니다. 가능한 모든 사용자 스토리의 변형을 분석하고, 화면을 모형으로 만들면 가능한 입력을 분석하는 등의 작업을 의미합니다. 수동으로 또는 자동으로 해당 변형을 실행하는 데 걸리는 시간에 대한 추측을 바탕으로 기본 산술을 수행하십시오. 대략적인 등가 클래스를 기반으로 한 몇 가지 핵심 시나리오를 보여주는 작은 2 차원 매트릭스를 작성하고, a) 이전 경험을 토대로 각 항목에 대한 자동화 테스트를 작성하고 b) 필요한 경우 수동 연기 테스트를 실행하십시오. .

예정된 타임 라인 동안 테스트를 실행해야하는 빈도를 파악합니다. 자신의 판단에서 오류 확률 (1.5x, 2.0x, 때로는 3.0x)을 기반으로 곱셈기를 실행하고 올바른 결과를 얻는 것이 상대적으로 중요합니다. 한 기능을 잘 테스트하고 다른 기능을 잘 테스트하는 것이 중요하지 않은 것이 중요하다면 그에 따라 견적을 조정하고 견적에서 해당 가정을 식별하십시오.

예약은 위험을 관리하는 것이지 제거하는 것이 아닙니다. 그것은 당신에게 무엇을해야하는지에 대한 큰 그림을 보여주기위한 것입니다. 세부 사항은 절대로 옳지 않으며 괜찮습니다. 나는 모든 것이 계획대로, 특히 개발면에서 진행되었다는 프로젝트에서 한 번 생각할 수 없다.

민첩성은 방정식을 많이 변경하지 않습니다. 타임 라인을 조금 변경합니다. 필연적으로 발생하는 문제를 해결하기 위해서는 개발자의 시간이 필요하기 때문에주기의 끝을 향해 테스트하기위한 약간의 헤드 룸이 있는지 확인하는 것이 좋습니다. 그러나 이것을 "미니 폭포"로 전환 할 필요는 없습니다. 드물게 모든 기능이 작동하고있을 가능성이 적은 이벤트에서 개발자는 반복 작업에서 우선 순위가 낮은 작업을 선택하기 시작할 수 있기 때문에 작업을 계속할 수 있습니다.

귀하의 경우 개발 팀이 귀하를 대신하여 QA 시간을 예측했는지 궁금합니다. 다른 사람이 전화를 걸도록하는 것이 일반적으로 좋지 않습니다. 게임에서 가장 많은 피부를 가진 사람들은 가장 무겁게 가중치가있는 의견을 가져야합니다. 그러나 많은 개발자가 꽤 좋은 위험 평가를 할 수 있으므로 확실히 듣는 것이 좋습니다. 애자일 개발 사이클에서는 역할 배타성이 폭포 팀보다 이상적이어야하지만 일부 사람들은 단순히 품질 보증 작업을 더 잘 수행 할뿐 아니라 자연스럽게 대부분의 작업을 선택하게됩니다. 애자 일의 이데올로기를 걷는다. 구현 세부 사항을 모른 채로 추정치를 기꺼이하지 않겠다는 것이 문제라면,이를 극복해야 할 필요가 있다고 말할 수 있습니다. 구식 방법론이라 할지라도 나는 거의 완전한 지식을 갖지 못했다.

내가 추가 할 것은 다음과 같습니다. QA 재능을 갖춘 사람은 개발 팀과 동일한 팀에 있어야합니다. 자신의 전문성 개발이 다른 관리자에 의해 관리되면 좋지만 다른 스프린트 팀의 일부인 경우에는 그렇지 않습니다. 따라서 "테스트 팀 스프린트"와 "개발 팀 스프린트"가 있다면 겸손한 의견으로 개발자와 QA에 집중된 리소스 간의 공동 작업과 의사 소통의 잠재력이 절실히 필요합니다.

관련 문제